您的位置:首页 > 其它

HDU 4642 - Fliping game

2017-09-06 15:14 113 查看
题目大意:有长为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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: