P7960 [NOIP2021] 报数


读完题目之后思路就出来了 但是不敢下手怕时间过不去1e7感觉好大

就是类似埃筛的方法将1e7以内该跳过的数都筛出来 加入在set里面

最后查询的话直接log就可以了

点击查看代码
#include
using namespace std;
#define lowbit(x) x&(-x)
#define ll long long
const int maxn=1e7+5;
int vis[maxn];
int T,x;
setmp;
set::iterator id;
bool seven(int u){
	while(u){
		if(u%10==7)return true;
		u/=10;
	}
	return false;
}
void init(){
	for(int i=1;i>T;
	init();
	while(T--){
	scanf("%d",&x);
	if(vis[x])cout<<-1<