题目大意:有长为r,宽为l的板,板上有r*l个块。初始时,每块都有一枚硬币,或正面向上(用1表示),或反面向上(用0表示)。Alice和Bob轮流翻硬币,翻的规则如下:选择一枚硬币的位置,然后从这个位置到右下角的矩形内的硬币全部翻转。当谁翻转后,全部硬币都反面朝上,则谁胜出。Alice先翻转。
解题思路:由于右下角的硬币每次都会被翻转,所以初始时谁将它翻转为反面谁就会赢。
ac代码:
#include <iostream>
using namespace std;
int n, r, l, jud, t;
int main()
{
scanf("%d", &n);
while (n--){
scanf("%d%d", &r, &l);
for (int i=0; i<r; i++)
for (int j=0; j<l; j++){
scanf("%d", &t);
if (i == r-1 && j == l-1)
jud = t;
}
if (jud)
printf("Alice\n");
else
printf("Bob\n");
}
return 0;
}