Ich habe Paizas Level-Up-Problem-Sammlung gelöst, aber ich hatte keine vorbildliche Antwort, also habe ich es selbst gemacht. Die Sprache ist Python3.
Paizas Skill-Check-Beispielproblem "Inselsuche (entspricht Paiza-Rang S)" https://paiza.jp/works/mondai/skillcheck_sample/search-island?language_uid=python3 Ich konnte die Problemstellung nicht sehen, ohne mich anzumelden. Die Registrierung ist kostenlos und kann sofort erfolgen. Ich empfehle Ihnen daher, sich vorerst zu registrieren.
find_lands.py
col, row = map(int, input().split())
map_list = [[0]* (col+2)]
for _ in range(row):
map_list.append([0] + list(map(int, input().split())) + [0])
map_list.append(map_list[0])
def check(x, y):
lands = [[x,y]]
while lands:
x, y = lands.pop()
map_list[y][x] = 0
# down
if map_list[y+1][x] == 1:
lands.append([x, y+1])
# right
if map_list[y][x+1] == 1:
lands.append([x+1, y])
# up
if map_list[y-1][x] == 1:
lands.append([x, y-1])
# left
if map_list[y][x-1] == 1:
lands.append([x-1, y])
count = 0
for r in range(1, row+1):
for c in range(1, col+1):
if map_list[r][c] == 1:
check(c, r)
count += 1
print(count)
https://maro28.com/paiza-s-rank-mod7
Ich habe am Anfang einen Artikel über Qiita geschrieben, aber er sollte einfach und benutzerfreundlich sein! Ich hoffe ich kann es von jetzt an benutzen.
Recommended Posts