問題
B - Number Box
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
方針
\(N\)が小さいので全検索で。迷路の問題などで
for i, j in zip([0, 1, 1, 1, 0, -1, -1, -1], [1, 1, 0, -1, -1, -1, 0, 1]):
などとやったことを思い出す。これは下の図のように縦横斜め\(8\)方向の動きに対応する。
解答
#atcoder template
def main():
import sys
input = sys.stdin.readline
#文字列入力の時は上記はerrorとなる。
#ここにコード
#input
n = int(input())
a = [[]*n for _ in range(n)]
for i in range(n):
a[i] = list(str(input()))
M = 0
for i, j in zip([0, 1, 1, 1, 0, -1, -1, -1], [1, 1, 0, -1, -1, -1, 0, 1]):
for x in range(n):
for y in range(n):
temp_list = ""
temp_list += a[x][y]
for k in range(n-1):
x += i
x %= n
y += j
y %= n
temp_list += a[x][y]
M = max(M, int(temp_list))
print(M)
#N = 1のときなどcorner caseを確認!
if __name__ == "__main__":
main()
提出結果
Submission #33011480 - AtCoder Beginner Contest 258
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
感想
何これ難しい\(\cdots\)。これでB問題なのか\(\cdots\)
関連問題
関連リンク
AtCoder
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
コメント