[BOJ 25165] 백준 25165번 - 영리한 아리의 포탈 타기
제4회 가톨릭대학교 프로그래밍 경진대회 (CCPC) 풀이 | ||
---|---|---|
A | [BOJ 25165] 영리한 아리의 포탈 타기 | |
B | [BOJ 25166] 배고픈 아리의 샌드위치 구매하기 | |
C | [BOJ 25167] 이상한 아리의 채점 | |
F | [BOJ 25170] 명랑한 아리의 외출 | |
H | [BOJ 25172] 꼼꼼한 쿠기의 졸업여행 | |
I | [BOJ 25174] 힘겨운 쿠기의 식당 개업기 |
1. 문제Permalink
25165. 영리한 아리의 포탈 타기 (제4회 가톨릭대학교 프로그래밍 경진대회 (CCPC) A번)
백준 25165번 - 영리한 아리의 포탈 타기 (https://www.acmicpc.net/problem/25165)
2. 풀이Permalink
다음 그림에서 볼 수 있듯이, D = 0, N % 2 = 0
인 경우와 D = 1, N % 2 = 1
인 경우는 부하 몬스터가 어디에 있든 아리가 마주칠 수밖에 없음을 알 수 있다. (부하 몬스터는 문제 조건 2≤Sr≤N에 의해서 첫 번째 행에는 존재할 수 없다.)
또한, D = 0, N % 2 = 1
인 경우와 D = 1, N % 2 = 0
인 경우는 빨간색 구간에 부하 몬스터가 위치할 경우, 아리가 부하 몬스터를 마주치지 않는다. 빨간색 구간은 Sr=N인 경우이다. (문제 조건에 의해서 부하 몬스터는 (N,M)에는 존재할 수 없다.)
3. 채점 결과Permalink
4. 회고Permalink
.
5. 코드Permalink
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <bits/stdc++.h> | |
using namespace std; | |
#define FASTIO cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); | |
#define FOR(i,a,b) for(int i=(a);i<=(b);i++) | |
#define ROF(i,a,b) for(int i=(a);i>=(b);i--) | |
#define ll long long int | |
#define pii pair<int, int> | |
#define PQ priority_queue | |
#define LEN(v) int(v.size()) | |
#define ALL(v) v.begin(),v.end() | |
#define INF 2e9 | |
#define LINF 1e18 | |
int main() { | |
FASTIO; | |
int N, M; | |
int Ac, D; | |
int Sr, Sc; | |
cin >> N >> M; | |
cin >> Ac >> D; | |
cin >> Sr >> Sc; | |
bool flag = false; | |
if (D == 0) { | |
if (N % 2 == 0) { | |
flag = true; | |
} | |
else if (N % 2 == 1) { | |
flag = (Sr != N); | |
} | |
} | |
else if (D == 1) { | |
if (N % 2 == 0) { | |
flag = (Sr != N); | |
} | |
else if (N % 2 == 1) { | |
flag = true; | |
} | |
} | |
cout << (flag ? "NO..." : "YES!"); | |
return 0; | |
} |
댓글남기기