結果
問題 | No.8 N言っちゃダメゲーム |
ユーザー |
![]() |
提出日時 | 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; }