您的位置:首页 > 其它

【HDOJ】2149 Public Sale

2014-05-01 14:19 113 查看
看Discuss说是博弈论,没学到这个分类。不过仔细想了想,发现。
如果m<=n,那么可能结果为m,m+1...n。
否则,如果m%(n+1) == 0,那么无论如何都会输,因为无论先报价什么数,如a,另一个人只要报价n+1-a就可以取得最后的土地;而相反,m%(n+1)!=0,那么第一次报价为余数,余下报价只需要报价n+1-b就可以取得最后的土地。

#include <stdio.h>

int main() {
int m, n;
int i;

while (scanf("%d %d", &m, &n) != EOF) {
if (m <= n) {
printf("%d", m);
for (i=m+1; i<=n; ++i)
printf(" %d", i);
printf("\n");
} else {
if (m%(n+1) == 0)
printf("none\n");
else
printf("%d\n", m%(n+1));
}
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: