[HIHO1144]01串(枚举)

题目链接:http://hihocoder.com/problemset/problem/1144

题意不允许001和11出现,那么一定是01交错出现,001不准出现则说明可以将多余的0补在后面。把几种情况分类讨论一下即可。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int n, m;
 5 
 6 int main() {
 7     // freopen("in", "r", stdin);
 8     while(~scanf("%d%d",&n,&m)) {
 9         if(m - n >= 2) puts("NO");
10         else if(m - n == 1) {
11             for(int i = 0; i < (n + m) / 2; i++) printf("10");
12             printf("1\n");
13         }
14         else if(n - m == 1) {
15             for(int i = 0; i < (n + m) / 2; i++) printf("01");
16             printf("0\n");
17         }
18         else if(n == m) {
19             for(int i = 0; i < n; i++) printf("01");
20             printf("\n");
21         }
22         else {
23             for(int i = 0; i < m; i++) printf("01");
24             for(int i = 0; i < n - m; i++) printf("0");
25             printf("\n");
26         }
27     }
28     return 0;
29 }

 

posted @ 2017-02-20 18:17  Kirai  阅读(247)  评论(0编辑  收藏  举报