Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
一个简单巧妙的解法 469B 32ms学习于某大神的博客 首先 把某开关同行同列的所有开关动1遍 结果是只有该开关变化 其他开关不变化 策略就是如果1个开关是关的 就把他同行同列的所有开关动1遍 而一个开关操作偶数次相当于没有操作 只要模拟出上述过程统计一下操作奇数次的开关有多少就好 #include<stdio.h> #include<string.h> int main() {bool b[4][4];int i, j, k, a = 0; char q; memset(b, 0, sizeof(b)); for (i = 0; i < 4; i++) {for (j = 0; j < 4; j++) {scanf("%c", &q); if (q == '+') { for (k = 0; k < 4; k++) b[i][k]=!b[i][k], b[k][j]=!b[k][j]; b[i][j]=!b[i][j];} }getchar();} for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) if (b[i][j]) a++; printf("%d\n", a); for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) if (b[i][j]) printf("%d %d\n", i + 1, j + 1);} Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator