求助一下subtesk#4全部RE,代码带注释
查看原帖
求助一下subtesk#4全部RE,代码带注释
264548
Tangent233楼主2020/7/4 10:00
/*
解法大拟
对于每个集合内数字不断+a
看看是否在整数里存在并且在集合内不存在(即值为1) 
存在就加入并且计数
直到加到比最大的那个整数还大 
使用桶来判断是否在整数里存在且在集合内不存在
所有在集合内存在的设定为2
所有只在整数内存在的设定为1 
所有不存在与整数内以及集合内的设定为0 
*/
#include<bits/stdc++.h>
using namespace std;
int num[601000],p[6010];
int main()
{
	int a,maxn=-100,n,m,k,count=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&k);
		maxn=max(k,maxn);
		num[k]=1;
	}
	scanf("%d",&m);
	for(int i=1;i<=m;i++)
	{
		scanf("%d",&k);
		p[i]=k;
		num[k]=2;
	}
	scanf("%d",&a);
	//输入 
	for(int i=1;i<=m;i++)
	{
		while(1)
		{
			p[i]+=a;
			if(p[i]>maxn) break;
			if(num[p[i]]==1)
			{
				count++;
				num[p[i]]=2;
			}
		}
	}
	//算法主体 
	if(count==0) cout<<"Great Set!";
	else cout<<count;
	return 0;
}

评测记录 确实找不到有啥能越界的原因

2020/7/4 10:00
加载中...