結果
| 問題 |
No.971 いたずらっ子
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-04-25 16:09:28 |
| 言語 | Kuin (KuinC++ v.2021.9.17) |
| 結果 |
AC
|
| 実行時間 | 158 ms / 2,000 ms |
| コード長 | 961 bytes |
| コンパイル時間 | 3,370 ms |
| コンパイル使用メモリ | 148,612 KB |
| 実行使用メモリ | 43,392 KB |
| 最終ジャッジ日時 | 2024-11-07 11:44:49 |
| 合計ジャッジ時間 | 5,810 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 21 |
ソースコード
func main()
var H: int :: cui@inputInt()
var W: int :: cui@inputInt()
var m: [][]char :: #[H, W]char
var mp: [][]int :: #[H, W]int
for h(0, H - 1)
do m[h] :: cui@input()
end for
var dx: []int :: [0, 1]
var dy: []int :: [1, 0]
do mp[0][0] :: 0
for h(0, H - 1)
for w(0, W - 1)
var x0: int :: w
var y0: int :: h
var v0: int :: mp[y0][x0]
;do cui@print("\{x0} \{y0}\n")
for i(0, 1)
var x: int :: x0 + dx[i]
var y: int :: y0 + dy[i]
if(x = W | y = H)
skip i
end if
var v: int :: v0 + 1 + ((m[y][x] = 'k') ?(x + y, 0))
if(mp[y][x] = 0)
do mp[y][x] :: v
elif(v < mp[y][x])
do mp[y][x] :: v
end if
;do cui@print("(\{x0}, \{y0})→(\{x}, \{y}) \{v}→\{mp[y][x]}\n")
end for
end for
end for
{
for h(0, H - 1)
for w(0, W - 1)
do cui@print("\{mp[h][w]}\t")
end for
do cui@print("\n")
end for
}
var ans: int :: mp[H - 1][W - 1]
do cui@print("\{ans}\n")
end func