读书人

acm,该怎么解决

发布时间: 2012-03-29 12:53:12 作者: rapoo

acm
http://acm.tju.edu.cn/toj/showp1046.html

原题联接

[解决办法]
#include <iostream.h>
#include <memory.h>

struct node{
int a,b;
int pre;
}queue[201];

char used[200];

void output(int k){
if(queue[k].pre>=0){
output(queue[k].pre);
}
cout<<queue[k].a;
}

int main()
{
int n,r,i,j,L;
queue[0].a=1;
queue[0].b=1;
queue[0].pre=-1;
while(cin>>n && n){
memset(used,0,sizeof(used));
used[1]=1;
L=r=1;
if(n>1)
for(i=0;i<L;i++){
for(j=0;j<2;j++){
r=(queue[i].b*10+j)%n;
if(!used[r]){
queue[L].a=j;
queue[L].b=r;
queue[L].pre=i;
used[r]=1;
L++;
}
if(r==0)
break;
}
if(r==0)
break;
}
output(L-1);
cout<<endl;
}
return 0;
}

读书人网 >软件架构设计

热点推荐