※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 25165번 문제인 영리한 아리의 포탈 타기이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/25165 

 

25165번: 영리한 아리의 포탈 타기

아리가 보스 몬스터를 잡으러 가려면 광야에 위치한 포탈을 타야만 한다. 하지만 광야에는 아리가 포탈을 타러 가는 것을 방해하려는 보스 몬스터의 오른팔인 부하 몬스터 한 마리도 함께 위치

www.acmicpc.net

입력조건을 잘 살펴보면 몬스터는 아리가 출발하는 첫 행에 있는 입력이 주어지지 않음을 알 수 있다.

 

몬스터가 마지막 줄에 있지 않다면 아리는 몬스터를 무조건 마주치게 될 것이라는 것을 관찰하자.

 

또한 몬스터가 마지막 줄에 있더라도 이전 행에서 포탈로 바로 들어가지 못한다면 몬스터와 마주치게 될 것이다. 이 경우 아리와 몬스터가 만나게 될 지의 여부는 방향과 줄의 홀짝에 따라 정해지므로, 이를 이용해 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	int R, C; cin >> R >> C;
	int ac, ad; cin >> ac >> ad;
	int mr, mc; cin >> mr >> mc;

	if (mr == R && (ad + mr) & 1) cout << "YES!";
	else cout << "NO...";
}
728x90

+ Recent posts