Codeforces Round #590 (Div. 3) 万恶的自己WAC

C题:一道简单的C题卡了半天,我太菜了

题意:给你一个n*2的矩阵,每个位置有一个数字,对应一种管道,要求通道可不可以从左上通到右下

由提议可以看出,1,2对应的是直管道,3,4,5,6对应弯管道,只有弯管道成对才可以换行,直管道只能换列

只需直管道的时候往右走,弯管的时候判断一下对应的下一行情况,同时弯管就换行,不是就输出“NO”

 1 #include <iostream>
 2 #include <cstring>
 3 #include <string>
 4 #include <cmath>
 5 #include <algorithm>
 6 
 7 using namespace std;
 8 typedef long long ll;
 9 string s[3];
10 
11 int main()
12 {
13     int q;
14     cin >> q;
15     while(q--)
16     {
17         int n;
18         bool flag =false;
19         cin >> n;
20         cin >> s[0]>>s[1];
21         int num =0;
22        int i=0;
23        int j=0;
24        while(i<n)
25        {
26            if(s[j][i]<'3')i++;
27            else if(s[j][i]>'2')
28            {
29                j^=1;
30                if(s[j][i]>'2')i++;
31                else{
32                     break;
33                }
34            }
35        }
36         if(j==1&&i==n)
37         {
38            cout <<"YES"<<endl;
39         }
40         else{
41             cout <<"NO"<<endl;
42         }
43     }
44     return 0;
45 }
View Code

猜你喜欢

转载自www.cnblogs.com/wangzhe52xia/p/11858158.html