끄적끄적 코딩
article thumbnail

베시와 데이지가 존에게 갈 때 누가 먼저 도착하는지 찾는 문제입니다.

베시는 상하좌우 대각선으로 이동이 가능하며,
데이지는 상하좌우로만 이동 할 수 있습니다.

베시가 먼저 도착할 경우 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;
}

검색 태그