結果
| 問題 |
No.8 N言っちゃダメゲーム
|
| ユーザー |
バカらっく
|
| 提出日時 | 2019-08-30 01:26:22 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 753 bytes |
| コンパイル時間 | 12,959 ms |
| コンパイル使用メモリ | 438,204 KB |
| 実行使用メモリ | 149,208 KB |
| 最終ジャッジ日時 | 2024-11-20 19:31:05 |
| 合計ジャッジ時間 | 51,752 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 RE * 1 TLE * 6 |
コンパイルメッセージ
Main.kt:1:10: warning: parameter 'args' is never used
fun main(args: Array<String>){
^
ソースコード
fun main(args: Array<String>){
val gameCount = readLine()!!.toInt()
for (i in 1..gameCount) {
val (n,k) = readLine()!!.split(" ").map { it.toInt() }
canWin(n,k)
}
}
fun canWin(n:Int, k:Int) {
dic.clear()
val ans = if (canWinSub(0, n, k)) "Win" else "Lose"
println(ans)
}
val dic = mutableMapOf<Int, Boolean>()
fun canWinSub(num:Int, n:Int, k:Int):Boolean {
if(num+1>=n) {
return false
}
dic[num]?.let { return it }
var canWin = false
for(i in Math.min(k, n - num - 1) downTo 1 step 1) {
if(i+num >= n) {
break
}
if(!canWinSub(num+i, n, k)) {
canWin = true
break
}
}
dic[num] = canWin
return canWin
}
バカらっく