/*
ID: 551100k1
LANG: C++
TASK: runround
*/
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int check[15];
int v[15],arr[15],p,n;
void dfs(int a,long long int b){
int i,k;
if(a==p){
memset(check,0,sizeof(check));
k=0;
if(b<=n) return;
for(i=0;i<p;i++){
k=(k+arr[k])%p;
check[k]=1;
}
for(i=0;i<p;i++)
if(check[i]==0)
return;
printf("%lld\n",b);
exit(0);
}
for(i=1;i<=9;i++){
if(!v[i]){
v[i]=1;
arr[a]=i;
dfs(a+1,b*10+i);
v[i]=0;
}
}
}
int main(){
freopen("runround.in","r",stdin);
freopen("runround.out","w",stdout);
int i,j;
scanf("%d",&n);
for(i=1;i<=10;i++){
p=i;
dfs(0,0);
}
}
沒有留言:
張貼留言