結果
問題 | No.380 悪の台本 |
ユーザー | firiexp |
提出日時 | 2020-01-01 19:57:52 |
言語 | Kotlin (1.9.23) |
結果 |
AC
|
実行時間 | 459 ms / 1,000 ms |
コード長 | 2,025 bytes |
コンパイル時間 | 17,938 ms |
コンパイル使用メモリ | 453,956 KB |
実行使用メモリ | 61,652 KB |
最終ジャッジ日時 | 2024-11-22 17:07:23 |
合計ジャッジ時間 | 21,232 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 329 ms
57,036 KB |
testcase_01 | AC | 317 ms
56,892 KB |
testcase_02 | AC | 316 ms
56,876 KB |
testcase_03 | AC | 323 ms
56,864 KB |
testcase_04 | AC | 415 ms
57,468 KB |
testcase_05 | AC | 459 ms
61,652 KB |
testcase_06 | AC | 445 ms
60,828 KB |
testcase_07 | AC | 416 ms
56,700 KB |
testcase_08 | AC | 398 ms
57,692 KB |
testcase_09 | AC | 390 ms
57,308 KB |
コンパイルメッセージ
Main.kt:31:18: warning: 'toLowerCase(): String' is deprecated. Use lowercase() instead. var s = line.toLowerCase(); ^ Main.kt:51:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^
ソースコード
import java.io.PrintWriter import java.util.* @JvmField val INPUT = System.`in` @JvmField val OUTPUT = System.out @JvmField val cin = INPUT.bufferedReader() fun readLine(): String? = cin.readLine() fun readLn() = cin.readLine()!! @JvmField var _tokenizer: StringTokenizer = StringTokenizer("") fun read(): String { while (_tokenizer.hasMoreTokens().not()) _tokenizer = StringTokenizer(cin.readLine() ?: return "", " ") return _tokenizer.nextToken() } fun readInt() = read().toInt() fun readDouble() = read().toDouble() fun readLong() = read().toLong() fun readStrings(n: Int) = List(n) { read() } fun readLines(n: Int) = List(n) { readLn() } fun readInts(n: Int) = List(n) { read().toInt() } fun readIntArray(n: Int) = IntArray(n) { read().toInt() } fun readDoubles(n: Int) = List(n) { read().toDouble() } fun readDoubleArray(n: Int) = DoubleArray(n) { read().toDouble() } fun readLongs(n: Int) = List(n) { read().toLong() } fun readLongArray(n: Int) = LongArray(n) { read().toLong() } @JvmField val cout = PrintWriter(OUTPUT, false) fun solve(line: String): Boolean { if(line.isEmpty()) return false var s = line.toLowerCase(); for (i in 0 until 3){ if(s.isEmpty()) return false if(!s.last().isLetterOrDigit()) s = s.dropLast(1) } if(s.isEmpty()) return false if (line.startsWith("digi ")){ return s.endsWith("nyo") && s != "digi" }else if (line.startsWith("petit ")){ return s.endsWith("nyu") && s != "nyu" }else if(line.startsWith("rabi ")){ return s.length >= 5 && s.subSequence(5, s.length).any { it.isLetterOrDigit()} }else if(line.startsWith("gema ")){ return s.endsWith("gema") && s != "gema" }else if(line.startsWith("piyo ")) return s.endsWith("pyo") && s != "pyo" else return false } fun main(args: Array<String>) { var s : String? while (true) { s = readLine() if(s == null) break cout.print(if (solve(s)) "CORRECT (maybe)\n" else "WRONG!\n") } cout.flush() }