Codeforces 320A Magic Numbers

  因为晚上有一个cf的比赛,而自己从来没有在cf上做过题,就找了道题熟悉一下。

  题目大意:给一个数,判断是否能由1,14,144三个数连接得到。

  代码如下:

 1 #include <stdio.h>
 2 #include <stdbool.h>
 3 #include <string.h>
 4 
 5 bool is_magic(char num[])
 6 {
 7     int len = strlen(num);
 8     int i = 0;
 9     int level = 0;
10     while(i < len)
11     {
12         switch(level)
13         {
14             case 0:
15                 if(num[i] == '1')   
16                 {
17                     i++;
18                     level++;
19                     break;
20                 }
21                 else return false;
22             case 1:
23                 if(num[i] == '4')
24                 {
25                     i++;
26                     level++;
27                     break;
28                 }
29                 else if(num[i] == '1')
30                 {
31                     level = 0;
32                     break;
33                 }
34                 else return false;
35             case 2:
36                 if(num[i] == '4')
37                 {
38                     i++;
39                     level = 0;
40                     break;
41                 }
42                 else if(num[i] == '1')
43                 {
44                     level = 0;
45                     break;
46                 }
47                 else return false;
48         }
49     }
50     return true;
51 }
52 
53 int main(void)
54 {
55     char num[12];
56     scanf("%s", num);
57     if(is_magic(num))   printf("YES\n");
58     else   printf("NO\n");
59     return 0;
60 }
View Code

  五月份上半月在学HTML的一些东西,后来又有个编译原理的实验课,就又开始为那个课程设计忙活了将近半个月,于是,五月就这么过去了,几乎没怎么做题。到六月,先是备考六级,后来又到了期末考试,各种复习啊...22号终于考完了,可是别人还在考试啊,想找个安静的地方真的好不容易(其实也想先放松一下),现在几乎都考完了,我也该开始做题了...所以说,这道题的象征意义大于它的实际意义,^_^。

posted @ 2013-06-28 19:36  xiaobaibuhei  阅读(196)  评论(0编辑  收藏  举报