728x90
반응형
BaekJoon 백준 16433 주디와 당근농장 문제는 N × N 격자 모양의 밭에 이미 위치가 (R, C)인 칸에 당근을 하나 심었고 그 칸의 변을 공유하는 칸들에는 당근을 심을 수 없을 때, 최대한 많은 당근을 심은 밭의 모양을 구하는 문제이다. 난이도는 Bronze 1이다.
BaekJoon 16433 주디와 당근농장 문제 정보
출처
- https://www.acmicpc.net/problem/16433
알고리즘 분류
- 구현
난이도
- 브론즈 1 / Bronze 1
주디와 당근농장 문제 요약
- 주디가 할 일은 N × N 격자 모양의 밭에 당근을 심는 일입니다. 각 칸에는 최대 하나의 당근을 심을 수 있는데 어떤 칸에 당근이 심겨 있으면 그 칸의 변을 공유하는 칸들에는 당근을 심을 수 없습니다. (2 ≤ N ≤ 99)
- 주디는 이미 위치가 (R, C)인 칸에 당근을 하나 심었고 나머지 칸에도 당근을 심으려고 합니다. (1 ≤ R, C ≤ N)
- 주디는 심을 당근을 무한히 가지고 있다고 가정합니다.
- 주디가 최대한 많은 당근을 심었을 때 밭이 어떤 모양일지 출력한다.
문제 풀이 과정
- 당근을 최대한 많이 심으려면 격자 모양으로 심어야 한다.
- 이미 심은 당근의 행과 열이 둘 다 짝수 or 홀수라면, 나머지 당근들 또한 행과 열이 둘 다 짝수 or 홀수인 곳에 심는다.
- 이미 심은 당근의 행과 열이 짝 홀 or 홀짝이면, 나머지 당근들 또한 행과 열이 짝 홀 or 홀짝인 곳에 심는다.
- 당근을 모두 심고 밭의 모양을 출력한다.
코드 및 설명
N, R, C = map(int, input().split())
field = [['.'] * N for _ in range(N)]
field[R - 1][C - 1] = 'v'
for row in range(N):
# 당근 위치의 행과 열이 둘 다 홀수 거나 둘 다 짝수라면
if (R + C) % 2 == 0:
# 행이 짝수이면 짝수 열에 당근 심기
if row % 2 == 0:
for column in range(0, N, 2):
field[row][column] = 'v'
# 행이 홀수이면 홀수 열에 당근 심기
else:
for column in range(1, N, 2):
field[row][column] = 'v'
else:
# 행이 짝수이면 홀수 열에 당근 심기
if row % 2 == 0:
for column in range(1, N, 2):
field[row][column] = 'v'
# 행이 홀수이면 짝수 열에 당근 심기
else:
for column in range(0, N, 2):
field[row][column] = 'v'
for f in field:
print(''.join(f))
BaekJoon 백준 16433 주디와 당근농장 문제를 파이썬 python으로 풀어보았다. 난이도는 Bronze 브론즈 1이다.
728x90
반응형
'Algorithm Problem Solving > BaekJoon' 카테고리의 다른 글
[BaekJoon] 백준 17269 이름궁합 테스트 (Python / 파이썬) (0) | 2021.08.25 |
---|---|
[BaekJoon] 백준 11383 뚊 (Python / 파이썬) (0) | 2021.08.25 |
[BaekJoon] 백준 8974 희주의 수학시험 (Python / 파이썬) (0) | 2021.08.25 |
[BaekJoon] 백준 15947 아기 석환 뚜루루 뚜루 (Python / 파이썬) (0) | 2021.08.24 |
[BaekJoon] 백준 17224 APC는 왜 서브태스크 대회가 되었을까? (Python / 파이썬) (0) | 2021.08.24 |
댓글