zoukankan      html  css  js  c++  java
  • Play Apple(博弈)

    Problem 1604 - Play Apple
    Time Limit: 1000MS   Memory Limit: 65536KB    Total Submit: 434  Accepted: 174  Special Judge: No
    Description

    There are N apples. Two people take turns to either:  1. Divide the apple into two piles with different numbers. 2. The other people selects a pile of apples as the beginning of the next turn. If someone can not meet the requirements, he is lost. Will the first one win the game if both use the best strategy?

    Input
    There are multiple test cases. The first line of each case contains a integer N. ( 1 <= N <= 1000000000 )
    Output
    If the first person will win, output “Yes”. Otherwise, output “No”.
    Sample Input
    2 3 4
    Sample Output
    No Yes No
    题解:题意是把一个数分两半,数字不能相同,一个人不能分就输了;挺好找的规律,一下就找到了,从开始找,两个必败对应必胜;否则必败;
    代码:
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    const int INF = 0x3f3f3f3f;
    typedef long long LL;
    int main(){
        LL N;
        while(~scanf("%lld",&N)){
            if(N == 1 || N == 2){
                puts("No");
            }
            else if(N == 3){
                puts("Yes");
            }
            else{
                if((N - 1) % 3 == 0){
                    puts("No");
                }
                else puts("Yes");
            }
        }
        return 0;
    }
  • 相关阅读:
    蓝桥杯 算法训练 最大的算式
    hdu 5389 Zero Escape
    hdu 2577 How to Type
    java设计模式之命令模式
    java设计模式之策略模式
    Java四种引用包括强引用,软引用,弱引用,虚引用
    Java 面试参考指南 — 同步
    Java面试通关要点
    基于注解的 Spring MVC(上)
    69道Spring面试题和答案
  • 原文地址:https://www.cnblogs.com/handsomecui/p/5372839.html
Copyright © 2011-2022 走看看