結果
| 問題 |
No.26 シャッフルゲーム
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-03-24 07:52:03 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
AC
|
| 実行時間 | 340 ms / 5,000 ms |
| コード長 | 1,351 bytes |
| コンパイル時間 | 12,239 ms |
| コンパイル使用メモリ | 434,228 KB |
| 実行使用メモリ | 57,324 KB |
| 最終ジャッジ日時 | 2024-11-20 14:34:27 |
| 合計ジャッジ時間 | 16,511 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 10 |
コンパイルメッセージ
Main.kt:9:10: warning: parameter 'args' is never used
fun main(args: Array<String>) {
^
ソースコード
package yukicoder.no26
import java.util.Collections.swap
/**
* エントリポイント
* @param args コマンドライン引数
*/
fun main(args: Array<String>) {
val in1 = readLine()
val in2 = readLine()
val in3 = mutableListOf<String>()
var line: String?
line = readLine()
while (line != null) {
in3.add(line)
line = readLine()
}
println(shuffleGame(in1, in2, in3))
}
/**
* ○印がついているカップの位置を返します。
* @param firstIndex ○がついているカップの、最初の位置
* @param num 入れ替えた回数
* @param replacement 入れ替えるカップの位置
*/
fun shuffleGame(firstIndex: String?,
@Suppress("UNUSED_PARAMETER") num: String?,
replacement: List<String>): String {
val mark = mutableListOf(0, 0, 0)
// 初期値の設定
for (i in mark.indices) {
if (i == firstIndex?.toIntOrNull()?.minus(1)) {
mark[i] = 1
}
}
for (v in replacement) {
val sp = v.split(" ")
val i1 = sp[0].toInt() - 1
val i2 = sp[1].toInt() - 1
// 入れ替え
swap(mark, i1, i2)
}
for ((i, v) in mark.withIndex()) {
if (v == 1) {
return (i + 1).toString()
}
}
// ここには来ない
return ""
}