记录一下新学的骚操作
#include<bits/stdc++.h>
#define LL long long
#define Max 100005
#define Mod 1e9+7
const LL mod=1e9+7;
const LL inf=0x3f3f3f3f;
using namespace std;
struct node
{
string ans;
int num;
};
int n;
queue<node>q;
int vis[2000005];
node now,next;
void bfs(){
// printf("11111\n");
now.ans="10";
now.num=10%n;
vis[now.num]=1;
q.push(now);
now.ans="11";
now.num=11%n;
vis[now.num]=1;
q.push(now);
while(q.size()){
now=q.front();
q.pop();
if(now.num==0){
cout<<now.ans<<endl;
return ;
}
for(int i=0;i<=1;i++){
if(i==0)
next.ans=now.ans+"0";
else
next.ans=now.ans+"1";
next.num=(now.num*10+i)%n;
if(vis[next.num])
continue;
vis[next.num]=1;
q.push(next);
}
}
}
int main()
{
scanf("%d",&n);
if(n==1)
printf("1\n");
else
bfs();
return 0;
}