千年一遇的NOIP水题没AC是不是废了......
  • 板块题目总版
  • 楼主SitTheFkDown
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/2/29 20:52
  • 上次更新2024/2/29 22:41:08
查看原帖
千年一遇的NOIP水题没AC是不是废了......
847325
SitTheFkDown楼主2024/2/29 20:52

P7960 报数

2021年的T1

蒟蒻一个,思路埃氏筛

代码又臭又长......

#include<bits/stdc++.h>
using namespace std;
#define N 100005
#define M 10000005
bool vis[M];
int ans[M],cnt,a[N],pos[M],n,x;
void seven(int n){
	int t,r,flag=0;
	for(int i=1;i<=n;i++){
		if(vis[i])continue;
		t=i;
		flag=0;
		while(t!=0){
			r=t%10;
			t/=10;
			if(r==7){
				flag=1;
				break;
			}
		}
		if(flag==1){
			for(int j=i;j<=n;j+=i)vis[j]=1;
		}
	} 
	cnt=0;
	for(int i=1;i<=n;i++){
		if(vis[i]==0){
			cnt++;
			pos[i]=cnt;
			ans[cnt]=i;
		}
	}
}
int main(){
	scanf("%d",&n);
	seven(10000000);
	for(int i=1;i<=n;i++){
		scanf("%d",&x);
		if(vis[x]==1)printf("-1\n");
		else{
			printf("%d\n",ans[pos[x]+1]);
		}
	}
	return 0;
}

思路应该对了,却70分WA了......

球球各位大佬指点指点吧!

孩子还有半年就CSP-S辣!!!

2024/2/29 20:52
加载中...