[测试题]神在夏至祭降下了神谕(oracle)
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)的更多相关文章
- 神在夏至祭降下了神谕(oracle)
首先这道题样例很多,先一个一个看 我们发现k为奇数是必为winter,其实可以证明 k为奇数时,k=a+(a+1)意味着可以直接实现winter士兵+1,summer士兵-1 k为偶数时,显然当m也为 ...
- JZOJ 4738. 神在夏至祭降下了神谕 DP + 线段树优化
4738. 神在夏至祭降下了神谕 Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits Goto ProblemSet D ...
- 常州模拟赛d3t1 神在夏至祭降下了神谕
题目描述 我们村子在过去的400年中,断绝与下界的接触,过着自给自足的生活. 夏至祭是一场迎接祖灵于夏季归来,同时祈求丰收的庆典. 村里的男人会在广场上演出夏之军和冬之军的战争.夏之军会打倒冬之军的大 ...
- Solaris 10下Qt编译Oracle 10g驱动
上回书讲到<Oracle 10g在Solaris 10中安装详解>,现在开始用Qt来编译下Oracle 10g驱动吧!这样就可以通过Qt程序联入Oracle数据库了! Oracle的环境变 ...
- Linux下的启动oracle的EM的命令
Linux下的启动oracle的EM的命令 1.启动数据库 su - oracle $sqlplus / as sysdba sql>startup 2.启动监听 $lsnrctl LSNRCT ...
- Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
- [转帖]Windows 下如何配置Oracle ASM???
Windows 下如何配置Oracle ASM??? candon123关注10人评论16725人阅读2011-02-09 21:40:57 本篇介绍了如何在windows下创建裸设备,并创建AS ...
- csps模拟67神炎皇,降雷皇,幻魔皇题解
题面:https://www.cnblogs.com/Juve/articles/11648975.html 神炎皇: 打表找规律?和$\phi$有关? 答案就是$\sum\limits_{i=2}^ ...
- Aix/Linux下自动备份oracle数据库
曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...
随机推荐
- Java虚拟机之GC
⑴背景 Java堆和方法区实现类所需内存是不一样的,每个方法的多分支需要的内存也可能不一样,我们只有在运行期间才能制动创建哪些对象.这部分内存分配与回收都是动态的,而垃圾回收器所关注的就是这些这部分内 ...
- 【总结】关于YUV-RGB格式转换的一些个人理解
这段时间一直在研究YUV的格式问题例如YUV422.YUV420,在网上搜索了很多这方面的资料,发现很多资料讲的东西是重复的,没有比较深入的讲解,所以看了之后印象不是很深,过了一段时间之后又对它们有了 ...
- C语言函函数嵌套
一.实验作业 1.1 PTA题目 设计思路 1.定义整形变量i,if(b==n-1)用于递归的终止,并返回1. 2.for i=b to n ,if(a[i]<a[min]);进行升序排序 3. ...
- Java 密码学算法
Java 密码学算法 候捷老师在< 深入浅出MFC 2e(电子版)>中引用林语堂先生的一句话: 只用一样东西,不明白它的道理,实在不高明 只知道How,不知道Why,出了一点小问题时就无能 ...
- Django 博客
blogproject/blogproject/settings.py ## 其它配置代码... # 把英文改为中文 LANGUAGE_CODE = 'zh-hans' # 把国际时区改为中国时区 T ...
- iOS开发之UITextView,设置textViewplaceholder
一.设置textView的placeholder UITextView上如何加上类似于UITextField的placeholder呢,其实在UITextView上加上一个UILabel或者UITex ...
- LeetCode & Q167-Two Sum II - Input array is sorted-Easy
Array Two Pointers Binary Search Description: Given an array of integers that is already sorted in a ...
- Java 持久化之 --io流与序列化操作
1)File类操作文件的属性 1.File类的常用方法 1. 文件的绝对完整路径:getAbsolutePath() 文件名:getName() 文件相对路径:getPath() 文件的上一级目录:g ...
- Angular 学习笔记 ( 链接服务器 )
ng 是做前端开发的, 所以通常我们会配上一个 API server. 本地调试时通常使用 proxy https://github.com/angular/angular-cli/blob/mast ...
- django的models模块查询方法
假定models中有一个类BookInfo 模块查询不同于sql语句,模块查询的结果会返回符合条件的整个一行的对象,或者多个对象组成的查询集. 查询集类似列表,有相似的方法. 1 model查询语句: ...