HDOJ 1527 돌 빼 기 게임 (위 조 프 보 이)
1739 단어 바둑 을 두다
Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7095 Accepted Submission(s): 3884
Problem Description
두 무더기 의 돌 이 있 는데, 수량 이 임의로 다 를 수 있다.게임 은 두 사람 이 돌아 가면 서 돌 을 채취 하기 시작 했다.게임 규정 에 따 르 면 매번 두 가지 서로 다른 취 법 이 있 는데 하 나 는 임의의 한 무더기 에서 임의의 많은 돌 을 가 져 갈 수 있다.둘 째 는 두 더미 에서 같은 양의 돌 을 동시에 가 져 갈 수 있다.마지막 으로 돌 을 모두 가 져 온 자가 승자 다.지금 은 최초의 두 무더기 의 돌 수 를 제시 합 니 다. 만약 당신 이 먼저 취 할 차례 라면 쌍방 이 모두 가장 좋 은 전략 을 취한 다 고 가정 하고 마지막 에 당신 이 승자 인지 패자 인지 물 어보 세 요.
Input
몇 줄 을 포함 하 는 지 입력 하면 몇 가지 돌의 초기 상황 을 나타 낸다. 그 중에서 한 줄 에 두 개의 부정 정수 a 와 b 를 포함 하고 두 개의 돌의 수 를 나타 낸다. a 와 b 는 모두 1, 000, 000, 000 보다 크 지 않다.
Output
출력 에 대응 하 는 줄 도 몇 개 있 습 니 다. 줄 마다 숫자 1 이나 0 을 포함 하고 마지막 에 승자 라면 1 이 고 반대로 0 입 니 다.
Sample Input
2 1
8 4
4 7
Sample Output
0
1
0
이 문 제 는 위 조 프 박 혁 이라는 것 을 알 기 쉽다.
다음은 위 조 프 게임 의 상황 과 규칙 을 드 리 겠 습 니 다.
두 무더기 가 각각 몇 개의 물품 m, n (m > = n) 이 있 는데 두 사람 은 돌아 가면 서 한 무더기 또는 동시에 두 무더기 에서 같은 많은 물품 을 취하 고 매번 에 적어도 하 나 를 취하 도록 규정 한다. 다 자 는 제한 이 없고 마지막 에 빛 을 얻 는 사람 이 이긴다.
영 k = m - n, 기이 한 정 세 는?int(k*(1+sqrt(5.0))/2)==n
기이 한 정세 에 직면 한 사람 이 패배 하 다.
#include
using namespace std;
#define mst(a,b) memset((a),(b),sizeof(a))
#define f(i,a,b) for(int i=(a);i<=(b);++i)
const int maxn = 50005;
const int mod = 9973;
const int INF = 0x3f3f3f3f;
const double eps = 1e-6;
#define ll long long
#define rush() int T;scanf("%d",&T);while(T--)
int main()
{
int a,b,m;
while(~scanf("%d%d",&a,&b))
{
if(a
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HDOJ 2176 돌 쌓 기 게임한 더미 에서 만 얻 을 수 있 습 니 다. 예 를 들 어 5 더미 5, 7, 8, 9, 10 선 취 자 는 이 길 수 있 습 니 다. 선 취 자 는 첫 번 째 로 얻 을 때 8 개 있 는 더미 에서 7 개 를 가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.