2013 多校联合4 1011 Fliping game (hdu 4642)
生活随笔
收集整理的這篇文章主要介紹了
2013 多校联合4 1011 Fliping game (hdu 4642)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
??? 題意:在一個矩陣中放著可上可下的銀幣,你可以翻一個矩形里面的銀幣使它們變成相反的方向,但此矩型必須是右下角是矩陣的最右下角,左上角這個點必須是朝上的。最 后結(jié)束的標志是所有的銀幣都已經(jīng)都是朝上的,此時游戲結(jié)束。
思路:首先游戲是會結(jié)束的。假設(shè)最右下角的是1(其他都是0)那顯然第一個人贏了。假設(shè)其他還有1那么第一個人最優(yōu)的是把右下角的這一枚銀幣組成的矩形,這樣使得它變成0。另一個人只能翻外面的1,不管他怎么翻,這個矩陣的1都會在變小[因為假設(shè)他翻的最左上的1,那這個位置不能再變成0,變小了。假設(shè)他翻的不是最左上的1,那他翻的1也不能再變成1,如你要把它重變成1,你又必須去翻最左上角的].so得證。而第一個人只要不斷的把右下角的1變成0,最后就能取勝。
反之,同理。#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;const int xx=1e3;
int a[xx][xx];int main()
{int T,N,M;scanf("%d", &T);while(T--){scanf("%d%d", &N, &M);for(int i =1; i<=N; i++)for(int j =1; j<=M; j++)scanf("%d", &a[i][j]);if(a[N][M])puts("Alice");elseputs("Bob");}return 0;
}
總結(jié)
以上是生活随笔為你收集整理的2013 多校联合4 1011 Fliping game (hdu 4642)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hu 4639 hehe
- 下一篇: 4632