結果
| 問題 |
No.380 悪の台本
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-01-01 19:57:52 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
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 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 8 |
コンパイルメッセージ
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()
}