結果

問題 No.1491 銀将
コンテスト
ユーザー ID 21712
提出日時 2026-05-24 01:37:51
言語 Go
(1.26.1)
コンパイル:
env GOCACHE=/tmp go build _filename_
実行:
./Main
結果
AC  
実行時間 1 ms / 1,000 ms
コード長 1,479 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 10,717 ms
コンパイル使用メモリ 278,276 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-05-24 01:38:07
合計ジャッジ時間 13,426 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_0
純コード判定待ち
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 16
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package main

import . "fmt"

func main() {
	var k int
	Scan(&k)
	ans := (2*(k-1)+1)*(2*(k-1)+1) + 2*k+1 + k+k
	Println(ans)
}

/*
考察

初期位置Sからの斜め移動縛りを考える
例えばK=4なら

o x o x o x o x o
x o x o x o x o x 
o x o x o x o x o
x o x o x o x o x 
o x o x S x o x o
x o x o x o x o x 
o x o x o x o x o
x o x o x o x o x 
o x o x o x o x o

となる

初期位置Sから上に1手進んだ位置から斜め移動縛りを考えると
例えばK=4なら

x o x o x o x o x
x x o x o x o x x
x o x o x o x o x
x x o x o x o x x
x o x o S o x o x
x x o x o x o x x
x o x o x o x o x
x x x x x x x x x
x x x x x x x x x

となる
これは初期位置Sの上隣を初期位置S'としたK-1の斜め移動縛りと同じ移動になり
初期位置Sからの斜め移動縛りの隙間の一部を補完する感じになる

この2つを重ねると

o o o o o o o o o
x o o o o o o o x
o o o o o o o o o
x o o o o o o o x
o o o o S o o o o
x o o o o o o o x
o o o o o o o o o
x o x o x o x o x
o x o x o x o x o

となり、これのxの領域に到達する移動方法はないのでこのoの領域が答え
oの領域は
一辺が 2*(K-1)+1 の正方形領域と
下端2段が補完的に 2*K+1 個埋まっる
左端辺および右端辺がそれぞれ 2*K+1 のうち K+1 個ずつ埋まっており下端2段との重複を除くとちょうど K 個
これらを合わせると
 (2*(K-1) + 1)^2 + 2*K+1 + K + K
が答え

*/
0