NYOJ 23 取石子(一) 解題報告

2021-08-26 19:38:20 字數 1260 閱讀 2460

取石子(一)

時間限制:

3000

ms |

記憶體限制:

65535kb

難度: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

樣例輸出

lose

win題目連線:

第一次看這道題,還是在大一的時候,當時一頭霧水,毫無思路,也就擱置到那裡了。昨天晚上再讀題,就按照由果索因的思想,找出了答案。

設n為石子的總數,m為一次最多可取的石子數,k為兩人取石子的總次數。

首先,若tt贏得了遊戲,則他先把石子取完了,也就是在tt第k次(最後一次)取石子時,剩餘的石子數小於等於m,可以是:1,2,3…m-1,m。為使第k-1次(倒數第二次)tt的室友取石子後,剩餘的石子數為上面所述情況,第k-1次取石子時的石子數應為m+1,這樣無論tt的室友取的是1至m中的任意乙個數,剩餘石子數都小於等於m。

按照這個思想,推出最後的公式為:

n %(m+1) != 0時,tt可以贏得遊戲。

**如下:

#include int main()

else

}return 0;

}

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

nyoj 23 取石子(一)

描述 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1 m 1000000 最先把石子取完者勝利。我們知道,tt和他 她的室友都十分...