UVa 10404 Bachet's Game(단순 DP)
3245 단어 game
한 무더기의 돌은 두 사람이 매번 X개를 들 수 있고, X는 m가지로 들 수 있다.마지막 돌을 잡은 사람이 이긴다.
아이디어:
간단한 상태로 dp, dp[i]=true는 i개의 돌멩이가 있음을 표시하고 먼저 선택한 사람이 이길 수 있다.
#include <cstdio>
#include <cstdlib>
#include <cstring>
bool dp[1000010];
int main()
{
int n, m, a[12];
while (scanf("%d", &n) != EOF)
{
scanf("%d", &m);
for (int i = 0; i < m; ++i)
scanf("%d", &a[i]);
dp[0] = false;
for (int i = 1; i <= n; ++i)
{
bool flag = false;
for (int j = 0; j < m; ++j)
if (i >= a[j] && !dp[i-a[j]]) {
flag = true; break;
}
dp[i] = flag;
}
if (dp[n])
printf("Stan wins
");
else
printf("Ollie wins
");
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Pots of gold game: 누가 돈을 많이 받는지Pots of gold game: Two players A & B. 간단하게 말하면 많은 금화통이 한 줄로 늘어서서 두 사람이 번갈아 돈을 받는다.매번 실 끝에 있는 깡통만 가져가도 두 가지 선택이 있다.A부터 시작...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.