2050XCCPC 2019 开场白

一开始用getchar(),用户体验极差= =。感觉会爆...所以没敢用string读。问了群里的说可以这样读。一次AC。(但是全场比赛只过了这道理,嗨呀好气= = )

然后while语句里本来写的是 ss=ss-4,但是很显然,这是一个死循环。。。然后一开始还纳闷,为啥205020会死循环。。后来马上领悟,6不是4的倍数,所以一减就是负数。。ss!=0,死循环。

 1 int main()
 2 {
 3     string c;
 4     int flag4,flag2;
 5     int t,j;
 6     long long ss;
 7     char team[4]={'2','0','5','0'};
 8     while(scanf("%d",&t)!=EOF)
 9     {
10         for(int i=1;i<=t;i++)
11         {
12             cin>>c;
13             flag2=0;
14             int p=0;
15             ss=c.length();
16             if(ss%4==0)
17         {
18             while(ss)
19                 {
20                     ss=ss-4;
21                     if(c[p]==team[p])
22                         p++;
23                     if(c[p]==team[p])
24                         p++;
25                     if(c[p]==team[p])
26                         p++;
27                     if(c[p]==team[p])
28                         p++;
29                 //    printf("p=%d
",p);
30                     if(p==4)
31                         {
32                             p=0;
33                             continue;    
34                         }
35                     if(p!=4)
36                     {
37                         flag2=1;
38                         break;
39                     }
40                 }
41                 if(flag2)
42                 {
43                     printf("No
");
44                 }
45                 else{
46                     printf("Yes
");
47             }
48         }
49         else{
50             printf("No
");
51         }
52             }    
53     }
54     return 0;
55 }
View Code

这是AC代码,但是我在写的时候就感觉哪里不对了,说明测试数据太水= =。。我的  p没有必要置为0啊。。。

热身赛,其他聚聚的博客: https://blog.csdn.net/xuxiaobo1234/article/details/89228118

原文地址:https://www.cnblogs.com/greenaway07/p/10704105.html