Description

我们村子在过去的 400 年中, 断绝与下界的接触, 过着自给自足的生活。
夏至祭是一场迎接祖灵于夏季归来, 同时祈求丰收的庆典。
村里的男人会在广场上演出夏之军和冬之军的战争。 夏之军会打倒冬之军的大将冬男, 再放火将他连山车一起烧掉。
参与这场演出的一共有 N+M 位战士, 其中 N 个人是冬之军, M 个人是夏之军。
冬之军的大将冬男拥有改变季节的力量。 他每次可以任意选取恰好 K 名战士, 然后把这 K 个人中所有的夏之军变成冬之军, 所有的冬之军变成夏之军。
冬男可以使用任意多次改变季节的力量, 直到他将所有的人都变成了冬之军。
如果冬男将所有的人都变成了冬之军, 那么冬男就获得了胜利。
我想要知道, 对于给定的 N,M,K, 冬男是否有可能获得胜利。
神有时会降下神谕, 帮助你作出判断。

Input

第一行包括一个正整数 year, 表示进行夏至祭的年份。
第二行包括一个正整数 T, 表示数据的组数。
接下来 T 行, 每行三个非负整数 N,M,K, 每一行表示一组数据。 输入数据保证 K>0。

Output

共 T 行, 每行为一个字符串“Case x: S” , 不包含引号。
x 表示当前为第 x 组数据, 从 1 开始编号,
若冬男有可能获得胜利, S 为 Winter, 否则 S 为 Summer。

Sample Input

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

Sample Output

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

Hint

神谕 2: M 是奇数。
神谕 3: K 是奇数。
√表示对于这个测试点的所有 T 组数据, 神降下了神谕。
×表示对于这个测试点的所有 T 组数据, 神否定了神谕。
也就是说, 若神谕为“X 是奇数” , 则×表示“X 是偶数” 。
所有数据保证 K>0。
请注意特判 M=0, N+M<K 等特殊情况, 读入时请使用 long long 或 int64。

题解

我们先不妨将$m=m%k$,

那么为了有解,我们要将$m$加个数或者减个数,使得其模$k$为$0$,

我们假设有$x$个从$n$变成$m$,$y$个从$m$变成$n$。

那么就有

$$(m+x-y=k||m-x+y=0)&&x+y=k$$

那么只要解这两个方程组,判断有无整数解即可。

其实化简后就是判断$m$和$k$的奇偶性。

 #include<set>
#include<map>
#include<cmath>
#include<ctime>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<string>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define LL long long
using namespace std; int year,t;
LL n,m,k,rk; int main()
{
scanf("%d%d",&year,&t);
for (int ca=;ca<=t;ca++)
{
printf("Case %d: ",ca);
scanf("%lld%lld%lld",&n,&m,&k);
if (m%k==) printf("Winter\n");
else if (m+n<k) printf("Summer\n");
else if (m+n==k&&m!=) printf("Summer\n");
else
{
if (k%) rk=;
else rk=;
if (k>m&&(k-m)%rk==) printf("Winter\n");
else if (k<m&&(m-k)%rk==) printf("Winter\n");
else printf("Summer\n");
}
}
return ;
}

[测试题]神在夏至祭降下了神谕(oracle)的更多相关文章

  1. 神在夏至祭降下了神谕(oracle)

    首先这道题样例很多,先一个一个看 我们发现k为奇数是必为winter,其实可以证明 k为奇数时,k=a+(a+1)意味着可以直接实现winter士兵+1,summer士兵-1 k为偶数时,显然当m也为 ...

  2. JZOJ 4738. 神在夏至祭降下了神谕 DP + 线段树优化

    4738. 神在夏至祭降下了神谕 Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto ProblemSet D ...

  3. 常州模拟赛d3t1 神在夏至祭降下了神谕

    题目描述 我们村子在过去的400年中,断绝与下界的接触,过着自给自足的生活. 夏至祭是一场迎接祖灵于夏季归来,同时祈求丰收的庆典. 村里的男人会在广场上演出夏之军和冬之军的战争.夏之军会打倒冬之军的大 ...

  4. Solaris 10下Qt编译Oracle 10g驱动

    上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...

  5. Linux下的启动oracle的EM的命令

    Linux下的启动oracle的EM的命令 1.启动数据库 su - oracle $sqlplus / as sysdba sql>startup 2.启动监听 $lsnrctl LSNRCT ...

  6. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  7. [转帖]Windows 下如何配置Oracle ASM???

    Windows 下如何配置Oracle ASM??? candon123关注10人评论16725人阅读2011-02-09 21:40:57   本篇介绍了如何在windows下创建裸设备,并创建AS ...

  8. csps模拟67神炎皇,降雷皇,幻魔皇题解

    题面:https://www.cnblogs.com/Juve/articles/11648975.html 神炎皇: 打表找规律?和$\phi$有关? 答案就是$\sum\limits_{i=2}^ ...

  9. Aix/Linux下自动备份oracle数据库

    曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...

随机推荐

  1. JavaEE HttpServlet 解析

    上一篇 文章中有提到,GenericServlet 是对 Servlet 的一个通用实现,并提供了一个抽象的 service() 方法.而我们的互联网是使用 Http 协议来通信的,那针对这个&quo ...

  2. 福州大学W班-团队作业-随堂小测(同学录)成绩

    作业链接 https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1715W/homework/1246 作业要求 1.题目 即编写一个能够记 ...

  3. java连接jdbc Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by defa

    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db","root",& ...

  4. Linux 目录与文件管理

    1. 目录与路径1.1 相对路径与绝对路径1.2 目录的相关操作: cd, pwd, mkdir, rmdir1.3 关于执行文件路径的变量: $PATH2. 档案与目录管理2.1 档案与目录的检视: ...

  5. github感悟

    刚学GitHub进入网页全英文的,感觉很惊讶,自己竟然要在全英文的网站上学习,虽然是英文的但并不感觉有压力,可能之前用eclipse就是全英文的现在除了惊讶,没太多的想法.然后就是我的GitHub地址 ...

  6. Java并发编程实战 之 线程安全性

    1.什么是线程安全性 当多个线程访问某个类时,不管运行时环境采用何种调用方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全 ...

  7. Java.nio-随机读写汉字

    笔者最近在用多线程来计算中文文本的标点符号数目,遇到了以下问题: 在Windows下,文本中汉字通常采用Unicode编码,这就导致需要随机(RandomAccessFile)读取文本时,产生乱码现象 ...

  8. CentOS 7 GUI图形界面安装

    在此之前先获取root权限,进行以下命令: 1. 在命令行下输入下面的命令来安装Gnome包: yum groupinstall "GNOME Desktop" "Gra ...

  9. linux下安装redis和phpredis扩展

    一.安装redis 1.下载redis-3.2.3.tar.gz wget http://download.redis.io/releases/redis-3.2.3.tar.gz 2.解压redis ...

  10. 什么是MQTT协议?

    MQTT协议介绍 MQTT协议是什么? MQTT(Message Queuing Telemetry Transport Protocol)的全称是消息队列遥感传输协议的缩写,是一种基于轻量级代理的发 ...