結果
| 問題 |
No.8 N言っちゃダメゲーム
|
| ユーザー |
startcpp
|
| 提出日時 | 2016-11-10 17:02:37 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 710 bytes |
| コンパイル時間 | 518 ms |
| コンパイル使用メモリ | 54,160 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-25 07:17:04 |
| 合計ジャッジ時間 | 839 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 |
ソースコード
/*
N = 20, K = 4のとき
渡された数:
19~∞ … 負け
18…勝ち
17…勝ち
16…勝ち
15…勝ち
14…負け
13…勝ち
12…勝ち
11…勝ち
10…勝ち
9…負け
…
周期5で負けている。一般には周期K+1で負ける。
N-1を5で割った余りをPとすると, 余りPから開始⇔負け
となることが分かる。
*/
//後ろからMinMaxすると, (N-1)%(K+1)==0⇔負けだと分かる。
//必勝の場合, 相手の打った手によって必勝手は変わるので注意。
#include <iostream>
using namespace std;
int main() {
int p, n, k;
cin >> p;
while(p--) {
cin >> n >> k;
cout << (((n-1) % (k+1) == 0) ? "Lose" : "Win") << endl;
}
return 0;
}
startcpp