日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NYOJ 23 取石子

發布時間:2025/6/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NYOJ 23 取石子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

取石子(一)

時間限制:3000?ms ?|?內存限制:65535?KB

難度:2

描述

一天,TT在寢室閑著無聊,和同寢的人玩起了取石子游戲,而由于條件有限,他/她們是用旺仔小饅頭當作石子。游戲的規則是這樣的。設有一堆石子,數量為N1<=N<=1000000),兩個人輪番取出其中的若干個,每次最多取M個(1<=M<=1000000),最先把石子取完者勝利。我們知道,TT和他/她的室友都十分的聰明,那么如果是TT先取,他/她會取得游戲的勝利么?

輸入

第一行是一個正整數n表示有n組測試數據
輸入有不到1000組數據,每組數據一行,有兩個數NM,之間用空格分隔。

輸出

對于每組數據,輸出一行。如果先取的TT可以贏得游戲,則輸出“Win”,否則輸出“Lose”(引號不用輸出)

樣例輸入

2

1000 1

1 100

樣例輸出

Lose

Win

?題目連接:http://acm.nyist.net/JudgeOnline/problem.php?pid=23

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

設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 <stdio.h> int main() { int test_num, stone_num, max_fetch; scanf("%d", &test_num); while (test_num--) { scanf("%d%d", &stone_num, &max_fetch); if (stone_num % (max_fetch + 1) != 0) { printf("Win\n"); } else { printf("Lose\n"); } } return 0; }

總結

以上是生活随笔為你收集整理的NYOJ 23 取石子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。