程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu 2149 Public Sale 博弈

hdu 2149 Public Sale 博弈

編輯:C++入門知識

hdu 2149 Public Sale 博弈


 

Public Sale

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4485 Accepted Submission(s): 2719



Problem Description 雖然不想,但是現實總歸是現實,Lele始終沒有逃過退學的命運,因為他沒有拿到獎學金。現在等待他的,就是像FarmJohn一樣的農田生涯。

要種田得有田才行,Lele聽說街上正在舉行一場別開生面的拍賣會,拍賣的物品正好就是一塊20畝的田地。於是,Lele帶上他的全部積蓄,沖往拍賣會。

後來發現,整個拍賣會只有Lele和他的死對頭Yueyue。

通過打聽,Lele知道這場拍賣的規則是這樣的:剛開始底價為0,兩個人輪流開始加價,不過每次加價的幅度要在1~N之間,當價格大於或等於田地的成本價 M 時,主辦方就把這塊田地賣給這次叫價的人。

Lele和Yueyue雖然考試不行,但是對拍賣卻十分精通,而且他們兩個人都十分想得到這塊田地。所以他們每次都是選對自己最有利的方式進行加價。

由於Lele字典序比Yueyue靠前,所以每次都是由Lele先開始加價,請問,第一次加價的時候,
Lele要出多少才能保證自己買得到這塊地呢?

Input 本題目包含多組測試,請處理到文件結束(EOF)。每組測試占一行。
每組測試包含兩個整數M和N(含義見題目描述,0
Output 對於每組數據,在一行裡按遞增的順序輸出Lele第一次可以加的價。兩個數據之間用空格隔開。
如果Lele在第一次無論如何出價都無法買到這塊土地,就輸出none。

Sample Input
4 2
3 2
3 5

Sample Output
1
none
3 4 5

Author Linle
#include
#include
int main()
{
    int n,m;
    int ans[1111];
    while(scanf(%d %d,&n,&m)!=EOF)
    {
        if(n%(m+1)==0)
            printf(none
);
        else
        {
            int xx=0;
            ans[xx++]=n%(m+1);
            for(int i=n%(m+1)+1;(n-i)%(m+1)!=0;i++)
            {
                if(i>m)
                    break;
                if(n>m&&n-i>=m)
                    break;
                ans[xx++]=i;
            }
            for(int i=0;i

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved