728x90
베시와 데이지가 존에게 갈 때 누가 먼저 도착하는지 찾는 문제입니다.
베시는 상하좌우 대각선으로 이동이 가능하며,
데이지는 상하좌우로만 이동 할 수 있습니다.
베시가 먼저 도착할 경우 bessie를 출력
데이지가 먼저 도착할 경우 daisy를 출력
동시에 도착할 경우 tie를 출력합니다.
베시의 경우 대각선 이동이 가능하므로
x축의 거리차이와 y축의 거리차이중 큰 값이 걸리는 시간입니다.
데이지의 경우 상하좌우로만 이동이 가능하므로
x축의 거리차이와 y축의 거리차이의 합이 걸리는 시간입니다.
이 둘을 계산한 다음 시간이 적은 곳이 먼저 도착하는 곳이라 판단할 수 있습니다.
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
int bx, by;
int dx, dy;
int jx, jy;
int countB;
int countD;
cin >> bx >> by;
cin >> dx >> dy;
cin >> jx >> jy;
countB = max(abs(jx - bx), abs(jy - by));
countD = abs(jx - dx) + abs(jy - dy);
if (countB < countD) {
cout << "bessie" << endl;
}
else if (countB > countD) {
cout << "daisy" << endl;
}
else {
cout << "tie" << endl;
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 16435번 스네이크버드 (0) | 2019.10.28 |
---|---|
[C++] 백준 16433번 주디와 당근농장 (0) | 2019.10.28 |
[C++] 백준 16430번 제리와 톰 (0) | 2019.10.27 |
[C++] 백준 14503번 로봇 청소기 (0) | 2019.10.27 |
[C++] 백준 10569번 다면체 (0) | 2019.10.25 |