본문 바로가기

algorithm

15877

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

 

15877번: Apples and Bananas

The numbers of apples (a) and bananas (b), separated with a space. (0 ≤ a, b ≤ 1,000)

www.acmicpc.net

 

game 과 dp 문제이다.

 

#include <iostream>
using namespace std;
int x, y;
bool dp[1011][1011];
int main() {
	cin>>x>>y;

	dp[1][0] = true;
	dp[0][1] = true;
	dp[1][3] = true;
	dp[3][1] = true;
	
	for(int i = 2 ; i <= y; i++ ){
		if(!dp[0][i-1]) dp[0][i] = true;
	}
	for(int i = 2 ; i <= x; i++ ){
		if(!dp[i-1][0]) dp[i][0] = true;
	}
	for(int i = 1; i <= x; i++){
		for(int j = 1; j <= y; j++){
			if(!dp[i-1][j] || !dp[i][j-1]) dp[i][j] = true;
			if(i >= 3 && j >= 1 && !dp[i-3][j-1]) dp[i][j] = true;
			if(i >= 1 && j >= 3 && !dp[i-1][j-3]) dp[i][j] = true;
		}
	
	}
	if(dp[x][y]) cout<<"Alice";
	else cout<<"Bob";
	return 0;
}

 

'algorithm' 카테고리의 다른 글

1450 로봇청소기  (0) 2022.05.16
16888 루트 게임  (0) 2022.05.15
1068  (0) 2022.05.13
휴게소 세우기  (0) 2022.05.11
보석 도둑  (0) 2022.05.09