zoukankan      html  css  js  c++  java
  • HDU 2149-Public Sale(巴什博奕)

    Public Sale
    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
    Appoint description: 

    Description

    尽管不想,可是现实总归是现实。Lele始终没有逃过退学的命运。由于他没有拿到奖学金。如今等待他的,就是像FarmJohn一样的农田生涯。 

    要种田得有田才行。Lele听说街上正在举行一场别开生面的拍卖会。拍卖的物品正好就是一块20亩的田地。

    于是,Lele带上他的所有积蓄,冲往拍卖会。 

    后来发现。整个拍卖会仅仅有Lele和他的死对头Yueyue。

     

    通过打听,Lele知道这场拍卖的规则是这种:刚開始底价为0,两个人轮流開始加价,只是每次加价的幅度要在1~N之间,当价格大于或等于田地的成本价 M 时,主办方就把这块田地卖给这次叫价的人。

     

    Lele和Yueyue尽管考试不行,可是对拍卖却十分精通。并且他们两个人都十分想得到这块田地。所以他们每次都是选对自己最有利的方式进行加价。 

    因为Lele字典序比Yueyue靠前,所以每次都是由Lele先開始加价。请问。第一次加价的时候, 
    Lele要出多少才干保证自己买得到这块地呢? 

     

    Input

    本题目包括多组測试,请处理到文件结束(EOF)。每组測试占一行。

     
    每组測试包括两个整数M和N(含义见题目描写叙述,0<N,M<1100) 

     

    Output

    对于每组数据,在一行里按递增的顺序输出Lele第一次能够加的价。

    两个数据之间用空格隔开。

     
    假设Lele在第一次不管怎样出价都无法买到这块土地。就输出"none"。 

     

    Sample Input

    4 2 3 2 3 5
     

    Sample Output

    1 none 3 4 5

    和杭电2188差点儿相同。都是差点儿相同裸的巴什博奕,仅仅只是这道题要求把加价输出。

    我依照三种情况来考虑:

    1.假设n%(m+1)==0 那么lele处于必败的局面。

    2.假设n>=m,则lele处于必胜的局面。

    此时输出结果可能为1个和多个。

    3.假设n不是m+1的倍数,那么第一次取得值要为要为加价以后剩下的值%(n+1)==0,这样Yueyue再取的时候成了必败的一方。

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream>
    #include <algorithm>
    #include <set>
    #include <queue>
    #include <stack>
    #include <map>
    using namespace std;
    int main()
    {
        int m,n,i;
        int cnt;
        while(~scanf("%d %d",&m,&n)) {
            cnt=0;
            if(m%(n+1)==0) {
                printf("none
    ");
                continue ;
            }
            if(m<=n) {
                for(i=m; i<n; i++)
                    printf("%d ",i);
                printf("%d
    ",i);
            } else {
    
                cnt=0;
                for(i=m; i>=1; i--) {
                    if(i%(n+1)==0) {
                        printf("%d
    ",cnt);
                        break;
                    }
                    cnt++;
                }
            }
        }
        return 0;
    }
    


  • 相关阅读:
    Vue 引入 Zepto.js 报错:TypeError: Cannot read property ‘createElement’ of undefined
    VUE项目如何在移动端查看打印日志(console.log)
    将vue项目打包成移动端app
    vue 移动端项目(app)手机测试
    CheckBoxList 用法
    oracle 存储过程的写法
    jq 一些小方法
    根据时间分组
    ajax 异步调用把返回值赋给一个全局变量的用法,最主要的就是把async属性改为 false,
    C#裁剪照片并保存
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5183981.html
Copyright © 2011-2022 走看看