| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:同学们,别这么懒,剪下枝。。。。In Reply To:同学们,别这么懒,剪下枝。。。。 Posted by:zsc09_leaf at 2011-04-07 19:13:56 > //192K,16MS
> #include <iostream>
> #include <queue>
> #include <string>
> #include <CSTDIO>
> using namespace std;
> string ans[210];
> bool mark[210];
> struct node
> {
> string ans;
> int mod;
> };
> string BFS(int n)
> {
> memset(mark,0,sizeof(mark));
> queue<node>q;
> node s;
> s.ans="1";
> s.mod=1;
> q.push(s);
> mark[1]=true;
> while(!q.empty())
> {
> node now=q.front(),temp=now;
> q.pop();
> int c=(now.mod*10+1)%n;
> int d=(now.mod*10)%n;
> if(d==0)
> {
> temp.ans+="0";
> return temp.ans;
> }
> if(c==0)
> {
> temp.ans+="1";
> return temp.ans;
> }
> if(!mark[d])
> {
> mark[d]=1;
> temp.ans+="0";
> temp.mod=d;
> q.push(temp);
> }
> if(!mark[c])
> {
> mark[c]=1;
> now.ans+="1";
> now.mod=c;
> q.push(now);
> }
> }
> }
> int main()
> {
> int n;
> for(int i=1;i<=200;i++)
> {
> if(i&1)
> ans[i]=BFS(i);
> else
> ans[i]=ans[(i>>1)]+"0";
> }
> while (scanf("%d",&n)&&n)
> {
> cout<<ans[n]<<endl;
> }
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator