鏈接:https://ac.nowcoder.com/acm/contest/4114/E
這張棋盤是 n×mn\times mn×m的。每一個格子要麼是黑色的,要麼是白色的。
兩個人輪流進行操作。火山哥先手。每一次可以選擇一個黑色的格子,以這個格子爲右下角,棋盤左上角爲左上角,將這個矩陣的所有格子的顏色由黑變成白,由白變成黑。如果找不到一個黑色的格子,那麼那個人就輸了。
現在兩個人都想讓火山哥贏,請問誰能贏呢。
輸入描述:
第一行一個整數 T{T}T,表示有 T{T}T 組數據。
每組數據第一行兩個整數 n,m{n,m}n,m,表示棋盤的大小。
接下來 n{n}n 行每行 m{m}m 個字符0(白色)或者1(黑色),描述了這個棋盤的初始狀態。
1≤n,m≤5001\le n,m\le 5001≤n,m≤500,1≤T≤201\le T\le 201≤T≤20
輸出描述:
對於每組的每個詢問,輸出一行,如果火山哥贏輸出“call”,雞老八贏輸出“aoligei”(不含引號)。
輸出
call
aoligei
aoligei
題解:a[0][0]那個棋是0的話,且你可以翻轉的話,無論你怎麼反轉,翻轉以後a[0][0]都變成1,那麼後手就可以翻轉,所以先手必敗
代碼
#include<iostream>
#include<string>
#include <cstdlib>
#include <algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<vector>
#include<queue>
const int N = 1000 + 5;
string a[505];
int main()
{
int t;
scanf("%d", &t);
while (t--)
{
int m, n;
scanf("%d%d", &n, &m);
for (int i = 0;i < n; i++){
cin >> a[i];
}
if (a[0][0] == '0') puts("aoligei");
else puts("call");
}
return 0;
}