题目描述

我们村子在过去的400年中,断绝与下界的接触,过着自给自足的生活。

夏至祭是一场迎接祖灵于夏季归来,同时祈求丰收的庆典。

村里的男人会在广场上演出夏之军和冬之军的战争。夏之军会打倒冬之军的大将冬男,再放火将他连山车一起烧掉。

参与这场演出的一共有N+M位战士,其中N个人是冬之军,M个人是夏之军。

冬之军的大将冬男拥有改变季节的力量。他每次可以任意选取恰好K名战士,然后把这K个人中所有的夏之军变成冬之军,所有的冬之军变成夏之军。

冬男可以使用任意多次改变季节的力量,直到他将所有的人都变成了冬之军。

如果冬男将所有的人都变成了冬之军,那么冬男就获得了胜利。

我想要知道,对于给定的N,M,K,冬男是否有可能获得胜利。

神有时会降下神谕,帮助你作出判断。

输入输出格式

输入格式:

第一行包括一个正整数year,表示进行夏至祭的年份。

第二行包括一个正整数T,表示数据的组数。

接下来T行,每行三个非负整数N,M,K,每一行表示一组数据。输入数据保证K>0。

输出格式:

共T行,每行为一个字符串“Case x: S”,不包含引号。

输入输出样例

输入样例#1:

1924
9
2 0 3
2 1 4
2 6 3
100 5 12
7 6 10
6 6 10
1000000000000000000 1 2
500000000 500000000 987654321
1000000000 1000000000 987654321
输出样例#1:

Case 1: Winter
Case 2: Summer
Case 3: Winter
Case 4: Summer
Case 5: Winter
Case 6: Winter
Case 7: Summer
Case 8: Winter
Case 9: Winter

说明

若冬男有可能获得胜利,S为Winter,否则S为Summer。

n,m,k <= 10^18

分析:这道题真的是神题一道!首先这肯定是一道结论题,因为数据范围大到你没有其他任何方法。先推几个小结论:1.当m%k = 0时,Winter,显然的. 2.n + m <= k且m != 0时,Summer,也是显然的. 3.m = 0,Winter,也很显然. 4.当m为奇数,k为偶数时,Summer,这个需要脑补一下,首先如果换掉奇数个夏之军,那么还剩下偶数个,但是因为k是偶数个,所以还有奇数个冬之军被翻成了夏之军,所以还是奇数个,如果换掉偶数个夏之军,还是奇数个,所以无论如何都还是奇数个,无解.

如果排除了以上情况,就有一个重要结论了:如果n + m > k,Winter.为什么呢?如果m > k,则把m mod k,这样把m缩小到k以下的范围,考虑如下两种翻法:1.全部翻夏之军,那么还会有k-i个夏之军.2.全部翻冬之军,那么还会有k + 2 - i个夏之军,列个表可以发现k以下的数都会存在,如果还剩下2个夏之军,我们用第二种翻法,还会剩下k个夏之军,最后一次翻完.

#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<cmath>
#include<map> using namespace std; int year, t;
long long n, m, k; int main()
{
scanf("%d%d", &year, &t);
for (int i = ; i <= t; i++)
{
printf("Case %d: ", i);
scanf("%lld%lld%lld", &n, &m, &k);
if (!m)
printf("Winter\n");
else
if (m % k == )
printf("Winter\n");
else
if (m % == && k % == )
printf("Summer\n");
else
if (n + m > k)
printf("Winter\n");
else
printf("Summer\n");
} return ;
}

最新文章

  1. python中的函数
  2. Java关于Properties用法(二)——替换配置文件中的参数
  3. MySQL优化实例
  4. 获取ORACLE数据库的构建信息
  5. tomcat从下载到使用
  6. SQL Server数据库(SQL Sever语言 事务)
  7. maven pom.xml具体解释(整理)
  8. 引用System.Runtime.Serialization.Json
  9. libevent在windows下使用步骤详解
  10. 在Unix系统中,主存索引节点和辅存索引节点从内容上比较有什么不同,为什么要设置主存索引节点?
  11. php与html实现交互的基本操作
  12. Scrapy 代理IP
  13. easyui 自定义验证规则 验证用户是否已经存在 远程ajax验证
  14. odoo开发环境搭建(四):python开发工具IDE pycharm配置
  15. Android 关于在ScrollView中加上一个ListView,ListView内容显示不完全(总是显示第一项)的问题的两种简单的解决方案
  16. CentOS6.5 安装Nexus配置Maven私服
  17. leetCode题解之修剪二叉查找树
  18. September 21st 2017 Week 38th Thursday
  19. C#.NET常见问题(FAQ)-如何修改代码字体
  20. Python安装tesserocr遇到的各种问题及解决办法

热门文章

  1. (七)mybatis之创建SqlSession
  2. Sublime Text3括号配对与代码包围效果BracketHighlighter
  3. chrom控制台常用方法
  4. UEditor练习(JSP版)
  5. PDO drivers no value 解决办法
  6. sublime点击预览未起作用?教你如何设置支持浏览器预览
  7. 全排列问题(DFS)
  8. linux 5.7.20和5.6.38版本 数据库忘记root密码怎么找回?
  9. One-to-one
  10. Oracle中创建触发器示例及注意事项