題目:
時間限制:3000 ms | 記憶體限制:65535 kb
難度:2
描述一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他/她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n(1<=n<=1000000),兩個人輪番取出其中的若干個,每次最多取m個(1<=m<=1000000),最先把石子取完者勝利。我們知道,tt和他/她的室友都十分的聰明,那麼如果是tt先取,他/她會取得遊戲的勝利麼?
輸入第一行是乙個正整數n表示有n組測試資料
輸入有不到1000組資料,每組資料一行,有兩個數n和m,之間用空格分隔。
輸出對於每組資料,輸出一行。如果先取的tt可以贏得遊戲,則輸出「win」,否則輸出「lose」(引號不用輸出)
樣例輸入
2樣例輸出1000 1
1 100
losewin對於此類問題我們可以逆向考慮:如果我先取石子剩下多少個才能使得對方必輸,簡單點就是:我取後還剩m+1個無論對方怎麼取
對方必輸。從後向前考慮設定必勝點和必敗點,只有我剩下的在m+1的倍數然後讓對方站在此處我就必勝了,因為對方無論如何去取我都能最終取完。#include
#include
#include
#include
#include
using namespace std;int a[30],b[30];
int main()
{int n;
cin>>n;
while(n--)
{int x,y;
cin>>x>>y;
if(x%(y+1)){
cout<<"win"<
hdoj 2147 簡單博弈 小試P N分析
超級傳送門 題目大意 kiki和zz玩遊戲,在n m的矩陣裡面,每次都是從 1,m 點出發,每次移動可以走到左,下,左下三個位置,輪到他不能移動的人算輸,每一次都是kiki先移動,給出n和m的大小,問kiki是輸還是贏。p n分析的用法 p點 前乙個選手 previous player 將取勝的位置...
紙牌博弈問題
題目 有乙個整型陣列a,代表數值不同的紙牌排成一條線。玩家a和玩家b依次拿走每張紙牌,規定玩家a先拿,玩家b後拿,但是每個玩家每次只能拿走最左或最右的紙牌,玩家a和玩家b都絕頂聰明,他們總會採用最優策略。請返回最後獲勝者的分數。給定紙牌序列a及序列的大小n,請返回最後分數較高者得分數 相同則返回任意...
紙牌博弈問題
題目 有乙個整型陣列a,代表數值不同的紙牌排成一條線。玩家a和玩家b依次拿走每張紙牌,規定玩家a先拿,玩家b後拿,但是每個玩家每次只能拿走最左或最右的紙牌,玩家a和玩家b都絕頂聰明,他們總會採用最優策略。請返回最後獲勝者的分數。給定紙牌序列a及序列的大小n,請返回最後分數較高者得分數 相同則返回任意...