nyoj 23 取石子(一) 博弈

2022-05-07 21:36:11 字數 1162 閱讀 8438

記憶體限制: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」(引號不用輸出)

複製

2

1000 1

1 100

lose

win分析:

①、取石子這類的問題自需要考慮最大值m與最小值m(ps:該題中最小可以取1)之和的情況

②、如果n%(m+1) > 0 這ll自需要取n%(m+1)就必贏

③、剩下的因為是(m+1)的倍數,所以當對手取x的時候,ll可以取m+1-x,醬紫ll就是那個最後取完石子的人

步驟:直接分析n%(m + 1) 取餘是否不為零,不為零ll必勝,反之他的對手必勝

核心**:

1

if(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 #include 

8 #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...