안녕하세요. 오늘은 카드 게임을 할 거예요.

문제

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

아이디어

플레이어 A가 살아낭을 수 있는 턴의 횟수를 A, B가 살아남을 수 있는 턴의 횟수를 B라고 합시다.
입력받는 순서대로 a,b,c,d라고 하면 A는 b/c의 값을 올림한 값이므로 (b+c-1)/c가 되고 똑같이 B는 d/a의 값을 올림한 값이므로 (d+a-1)/a가 됩니다.
A<B이면 PLAYER B, A>B이면 PLAYER A, A==B이면 DRAW를 출력해주면 됩니다.

소스코드

#include <iostream> 
using namespace std;

int main(void)
{
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	int a, b, c, d;
	cin >> a >> b >> c >> d;

	int A = (b + c - 1) / c, B = (d + a - 1) / a;
	if (A < B) cout << "PLAYER B";
	else if (A > B) cout << "PLAYER A";
	else cout << "DRAW";
}


감사합니다.

0개의 댓글