본문 바로가기
PS/boj

[BOJ] 백준 24049번 : 정원 (Easy)

by clolee 2022. 1. 4.

정원(Easy)

 

문제 : https://www.acmicpc.net/problem/24049

 

 

문제 

 

세로길이 n, 가로길이 m이 첫번째 줄에 입력으로 주어진다.

정원의 가장 왼쪽 n개의 꽃 색깔이 두번째 줄에 입력으로 주어진다.

정원의 가장 위쪽 m개의 꽃 색깔이 세번째 줄에 입력으로 주어진다.

왼쪽과 위쪽 칸에 심어져 있는 꽃의 색을 보고, 두 꽃의 색이 같으면 노란색 꽃, 다르면 빨간색 꽃을 심는다. 

노란색 꽃은 0, 빨간색 꽃은 1로 표현한다.

결과로 n행 m열 칸의 꽃의 색 출력한다.

 

 

 

코드

 

입력으로 주어지는 행, 열의 정보를 포함한 그래프를 그리기 위해 가로 m + 1 크기, 세로 n + 1 인 배열을 만든다.

1, 1 칸부터 차례로 돌며 왼쪽과 위쪽 꽃의 색을 비교해 현재 칸에 꽃의 색을 정한다.

graph[n][m]을 출력한다.

 

n, m = map(int, input().split())
graph = [[-1] * (m + 1) for _ in range(n + 1)]
col = list(map(int, input().split()))
row = list(map(int, input().split()))

for i in range(1, n + 1):
    graph[i][0] = col[i - 1]
for j in range(1, m + 1):
    graph[0][j] = row[j - 1]

for i in range(1, n + 1):
    for j in range(1, m + 1):
        graph[i][j] = graph[i][j - 1] ^ graph[i - 1][j]

print(graph[n][m])

댓글