백준/문제
21771번: 가희야 거기서 자는 거 아니야
스몰스테핑
2024. 9. 19. 15:59
문제 출처 : https://www.acmicpc.net/problem/21771
언어 : Kotlin
문제 설명 :
베개와 가희가 방 안에 있습니다. 가희가 베개 위에서 자고 있는지 그렇지 않은지 출력해 주세요.
입력 :
첫 번째 줄에 방의 세로 길이 R, 가로 길이 C가 주어집니다.
두 번째 줄에 가희의 세로 길이 Rg, 가로 길이 Cg, 베게의 세로 길이 Rp, 가로 길이 Cp가 주어집니다.
세 번째 줄부터, R+2번째 줄까지, 길이가 C인 문자열이 주어집니다.
주어지는 문자열에 있는 문자는 가희를 나타내는 'G', 베게를 나타내는 'P', 빈 칸을 나타내는 '.' 중 하나입니다.
출력 :
가희가 베게 위에서 자고 있다면 1을, 그렇지 않으면 0을 출력합니다.
베개 중의 일부가 가희에 의해서 가려진 상태라면, 가희는 베게 위에서 자고 있습니다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 512MB
- 11 ≤ R, C ≤ 100
- 1 ≤ Rg, Rp ≤ R
- 1 ≤ Cg, Cp ≤ C
- 가희와 베개는 맵 안에 하나만 있으며, 방과 방 바깥에 걸쳐져 있지 않습니다.
- 가희나 베개가 완전히 가려진 경우는 주어지지 않습니다.
- 가희와 베개는 직사각형 형태로 주어지며, 직사각형의 각 변은 가로, 세로와 평행합니다.
- 가희는 베개 위에서 잘 수도 있고, 아래에서 잘 수도 있습니다.
입출력 예 :
입력 | 출력 |
11 11 5 4 6 10 ....GGGG... ....GGGG... ....GGGG... .PPPGGGGPPP .PPPGGGGPPP .PPPPPPPPPP .PPPPPPPPPP .PPPPPPPPPP .PPPPPPPPPP ........... ........... |
1 |
11 11 11 4 6 10 ....GGGG... ....GGGG... ....GGGG... .PPPPPPPPPP .PPPPPPPPPP .PPPPPPPPPP .PPPPPPPPPP .PPPPPPPPPP .PPPPPPPPPP ....GGGG... ....GGGG... |
0 |
11 11 4 5 6 10 .GGGGG..... .GGGGG..... .GGGGG..... .GGGGG..... ........... PPPPPPPPPP. PPPPPPPPPP. PPPPPPPPPP. PPPPPPPPPP. PPPPPPPPPP. PPPPPPPPPP. |
0 |
풀이 :
import java.io.BufferedWriter
import java.io.OutputStreamWriter
fun main() = with(System.`in`.bufferedReader()) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val (r, c) = readLine().split(" ").map { it.toInt() }
val (rg, cg, rp, cp) = readLine().split(" ").map { it.toInt() }
var answer = rp * cp
repeat(r) {
for (ch in readLine()) {
if (ch == 'P') answer--
}
}
bw.write("${if (answer != 0) 1 else 0}")
bw.flush()
bw.close()
}