記憶體限制:64mb 時間限制:3000ms special judge: no
accepted:20 submit:33
一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他/她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n(1<=n<=1000000),兩個人輪番取出其中的若干個,每次最多取m個(1<=m<=1000000),最先把石子取完者勝利。我們知道,tt和他/她的室友都十分的聰明,那麼如果是tt先取,他/她會取得遊戲的勝利麼?
第一行是乙個正整數n表示有n組測試資料輸入有不到1000組資料,每組資料一行,有兩個數n和m,之間用空格分隔。
對於每組資料,輸出一行。如果先取的tt可以贏得遊戲,則輸出「win」,否則輸出「lose」(引號不用輸出)
複製
21000 1
1 100
losewin分析:
①、取石子這類的問題自需要考慮最大值m與最小值m(ps:該題中最小可以取1)之和的情況
②、如果n%(m+1) > 0 這ll自需要取n%(m+1)就必贏
③、剩下的因為是(m+1)的倍數,所以當對手取x的時候,ll可以取m+1-x,醬紫ll就是那個最後取完石子的人
步驟:直接分析n%(m + 1) 取餘是否不為零,不為零ll必勝,反之他的對手必勝
核心**:
1if(n%(m+!)) printf("
win\n");
2else printf("
lose\n
");
c/c++**實現(ac):
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include8 #include 9 #include 10
11using
namespace
std;
1213
intmain ()
1424
return0;
25 }
nyoj 23 取石子(一) 博弈
記憶體限制 64mb 時間限制 3000ms special judge no accepted 20 submit 33 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人...
NYOJ 23 取石子(一)
時間限制 3000 ms 記憶體限制 65535 kb難度 2 描述 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1 m 1000...
nyoj 23 取石子(一)
時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1 m 100...