Codeforces Round #197 (Div. 2) : C

哎....这次的比赛被安叔骂的好惨!

不行呢,要虐回来;

这道搜索,老是写错,蛋疼啊!

果然是基础没打好!

 1 #include<cstdio>
 2 using namespace std;
 3 int ans[1009],m;
 4 bool h[11],flag=true;
 5 
 6 void dfs(int n,int ch,int x)
 7 {
 8     if(n>m)
 9     {
10         flag=false;
11         printf("YES\n");
12         for(int i=0; i<n; ++i)
13             printf(" %d",ans[i]);
14         printf("\n");
15         return;
16     }
17     for(int i=ch+1; flag&&i<=10; ++i)
18         if(h[i]&&i!=x)
19         {
20             ans[n]=i;
21             dfs(n+1,i-ch,i);
22         }
23 }
24 int main()
25 {
26     char c;
27     for(int i=1; i<11; ++i)
28     {
29         scanf("%c",&c);
30         if(c=='1')h[i]=true;
31     }
32     scanf("%d",&m);
33     --m;
34     dfs(0,0,0);
35     if(flag)printf("NO\n");
36 }
View Code

 

posted @ 2013-08-27 11:15  Yours1103  阅读(243)  评论(0编辑  收藏  举报