标签:
N*M个灯泡排成一片,也就是排成一个N*M的矩形,有些开着,有些关着,为了节约用电,你要关上所有灯,但是你又很懒。 刚好有个熊孩纸路过,他刚好要从左上角的灯泡走去右下角的灯泡,然后离开。 但是毕竟熊孩纸,熊孩纸在离开一个灯泡之前,一定会动一下当前开关,也就是开的变关,关的变开。 想问你可不可能关完所有的灯,同时熊孩纸也可以到达右下角的灯泡,然后离开。
第一行T,表示T组数据。
接下来T组数据:
每组数据,第一行N,M,后面一个N*M的01矩阵,表示灯泡的初始开关状态,0表示关,1表示开。
1 \leq T \leq 101≤T≤10
1 \leq N, M \leq 10001≤N,M≤1000
每组数据,如果可以输出"YES",否则输出"NO"。
1 1 5 1 0 0 0 0
YES
孩子的路径是:123234545 刚好除了第一盏灯,其他灯都只经过偶数次。
总的操作次数是跟nn奇偶的。如果1的总数和n的奇偶性不同,就是无解,如果奇偶性相同,有解。
1 #include <iostream> 2 #include <cstdio> 3 int t,n,count,a; 4 int main(int argc, char** argv) 5 { 6 scanf("%d",&t); 7 while(t--) 8 { 9 scanf("%d",&n); 10 count=0; 11 for(int i=0;i<n;i++) 12 { 13 scanf("%d",&a); 14 if(a==1) count++; 15 } 16 if(count%2==0&&n%2==0||count%2!=0&&n%2!=0) 17 printf("Yes\n"); 18 else 19 printf("No\n"); 20 } 21 return 0; 22 }
BestCoder Round #67 (div.2) N*M bulbs
标签:
原文地址:http://www.cnblogs.com/millerchan/p/5079089.html