結果

問題 No.307 最近色塗る問題多くない?
ユーザー javy
提出日時 2015-11-27 23:37:01
言語 Kotlin
(2.1.0)
結果
RE  
実行時間 -
コード長 1,912 bytes
コンパイル時間 14,662 ms
コンパイル使用メモリ 437,852 KB
実行使用メモリ 85,100 KB
最終ジャッジ日時 2024-11-20 03:26:54
合計ジャッジ時間 36,093 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 20 RE * 16
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.kt:6:10: warning: parameter 'args' is never used
fun main(args: Array<String>) {
         ^

ソースコード

diff #

package Yukicoder

/**
 * Created by hichikawa on 2015/11/12.
 */
fun main(args: Array<String>) {
    fun readLineLongArray(): List<Long> {
        val str = readLine() as String
        val arrStr = str.split(" ")
        val ret = arrStr.map { it.toLong() }
        return ret
    }

    fun readLineLong(): Long {
        val str = readLine() as String
        return str.toLong()
    }

    fun readLineInt(): Int {
        val str = readLine() as String
        return str.toInt()
    }

    fun readLineIntArray() : List<Int> {
        val str = readLine() as String
        val arrStr = str.split(" ")
        val ret = arrStr.map { it.toInt() }
        return ret
    }

    fun repaintArray(arrArea : Array<Array<Int>>, x : Int, y : Int, color : Int, H : Int, W : Int) : Array<Array<Int>>{
        if (arrArea[x][y] == color) {
            return arrArea
        }
        arrArea[x][y] = color
        if (x > 0 && arrArea[x-1][y] != color) {
            repaintArray(arrArea, x-1, y, color, H, W)
        }
        if (y > 0 && arrArea[x][y-1] != color) {
            repaintArray(arrArea, x, y-1, color, H, W)
        }
        if (x < H-1 && arrArea[x+1][y] != color) {
            repaintArray(arrArea, x+1, y, color, H, W)
        }
        if (y < W-1 && arrArea[x][y+1] != color) {
            repaintArray(arrArea, x, y+1, color, H, W)
        }
        return arrArea
    }

    val input1 = readLineIntArray()
    val H = input1[0]
    val W = input1[1]
    var arrArea = Array(H , {readLineIntArray().toTypedArray()})
    val repaintNum = readLineInt()
    for (i in 1..repaintNum) {
        val input = readLineIntArray()
        repaintArray(arrArea, input[0]-1, input[1]-1, input[2], H, W)
    }
    for (line in arrArea) {
        for ((i, c) in line.withIndex()) {
            if (i!=0) {
                print(" ")
            }
            print(c)
        }
        println()
    }
}
0