常州模拟赛d3t1 神在夏至祭降下了神谕
题目描述
我们村子在过去的400年中,断绝与下界的接触,过着自给自足的生活。
夏至祭是一场迎接祖灵于夏季归来,同时祈求丰收的庆典。
村里的男人会在广场上演出夏之军和冬之军的战争。夏之军会打倒冬之军的大将冬男,再放火将他连山车一起烧掉。
参与这场演出的一共有N+M位战士,其中N个人是冬之军,M个人是夏之军。
冬之军的大将冬男拥有改变季节的力量。他每次可以任意选取恰好K名战士,然后把这K个人中所有的夏之军变成冬之军,所有的冬之军变成夏之军。
冬男可以使用任意多次改变季节的力量,直到他将所有的人都变成了冬之军。
如果冬男将所有的人都变成了冬之军,那么冬男就获得了胜利。
我想要知道,对于给定的N,M,K,冬男是否有可能获得胜利。
神有时会降下神谕,帮助你作出判断。
输入输出格式
输入格式:
第一行包括一个正整数year,表示进行夏至祭的年份。
第二行包括一个正整数T,表示数据的组数。
接下来T行,每行三个非负整数N,M,K,每一行表示一组数据。输入数据保证K>0。
输出格式:
共T行,每行为一个字符串“Case x: S”,不包含引号。
输入输出样例
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
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 ;
}
常州模拟赛d3t1 神在夏至祭降下了神谕的更多相关文章
- JZOJ 4738. 神在夏至祭降下了神谕 DP + 线段树优化
4738. 神在夏至祭降下了神谕 Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits Goto ProblemSet D ...
- [测试题]神在夏至祭降下了神谕(oracle)
Description 我们村子在过去的 400 年中, 断绝与下界的接触, 过着自给自足的生活.夏至祭是一场迎接祖灵于夏季归来, 同时祈求丰收的庆典.村里的男人会在广场上演出夏之军和冬之军的战争. ...
- 神在夏至祭降下了神谕(oracle)
首先这道题样例很多,先一个一个看 我们发现k为奇数是必为winter,其实可以证明 k为奇数时,k=a+(a+1)意味着可以直接实现winter士兵+1,summer士兵-1 k为偶数时,显然当m也为 ...
- 常州模拟赛d4t1 立方体
题目描述 立方体有 6 个面,每个面上有一只奶牛,每只奶牛都有一些干草.为了训练奶牛的合作精神,它 们在玩一个游戏,每轮:所有奶牛将自己的干草分成 4 等份,分给相邻的 4 个面上的奶牛. 游戏开始, ...
- noip模拟赛 伪神
题目背景 一切就绪 但愿,这样就好 自那之后的五年—— 作为封印持续增大的结果,在我体内积蓄了庞大的光精灵的力量 在幻灯结界里觉醒过来的我,和从封印解放出的德米奥格,就如同字面意思所述的,获得了等同于 ...
- 常州模拟赛d7t3 水管
分析:第一问还是很好做的,关键是怎么做第二问.我们可以每次删掉最小生成树上的一条边,然后再求一次最小生成树,看边权和大小和原来的是不是一样的,不过这个做法效率很低. 考虑Kruskal算法的原理,每次 ...
- 常州模拟赛d6t3 噪音
FJ有M个牛棚,编号1至M,刚开始所有牛棚都是空的.FJ有N头牛,编号1至N,这N头牛按照编号从小到大依次排队走进牛棚,每一天只有一头奶牛走进牛棚.第i头奶牛选择走进第p[i]个牛棚.由于奶牛是群体动 ...
- bzoj3743 [Coci2015]Kamp 常州模拟赛d6t2
3743: [Coci2015]Kamp Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 484 Solved: 229[Submit][Status ...
- 常州模拟赛d5t2 mogician
分析:一个暴力的思想是枚举g,然后枚举每个数ai,看能不能符合要求,这样复杂度是O(nA)的,直接T掉了.也没什么其他的办法了,在暴力的基础上优化一下,优化的关键是要如何快速统计出不满足要求的数的个数 ...
随机推荐
- linux 删除文件后空间没有释放的解决办法
清空没用的文件,当我删除文件后,发现可用空间沒有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [root@ticketb ~]# df -hFilesystem ...
- 洛谷 P1009 阶乘之和
题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一个正整数S,表示计算结 ...
- (转)MyBatis框架的学习(六)——MyBatis整合Spring
http://blog.csdn.net/yerenyuan_pku/article/details/71904315 本文将手把手教你如何使用MyBatis整合Spring,这儿,我本人使用的MyB ...
- 在Solr中配置中文分词IKAnalyzer
李克华 云计算高级群: 292870151 交流:Hadoop.NoSQL.分布式.lucene.solr.nutch 在Solr中配置中文分词IKAnalyzer 1.在配置文件schema.xml ...
- [洛谷P4556][BZOJ3307]雨天的尾巴-T3订正
线段树合并+树上差分 题目链接(···) 「简单」「一般」——其实「一般」也只多一个离散化 考试时想法看>这里< 总思路:先存所有的操作,离散化,然后用树上差分解决修改,用权值线段树维护每 ...
- 思维 || Make It Equal
http://codeforces.com/contest/1065/problem/C 题意:给你n个高度分别为a[i]的塔,每次可以横着切一刀,切掉不多于k个塔,问最少切多少刀才能把塔切的都一样高 ...
- div section article区分--20150227
div section article ,语义是从无到有,逐渐增强的.div 无任何语义,仅仅用作样式化或者脚本化的钩子(hook),对于一段主题性的内容,则就适用 section,而假如这段内容可以 ...
- GSS4 - Can you answer these queries IV || luogu4145上帝造题的七分钟2 / 花神游历各国 (线段树)
GSS4 - Can you answer these queries IV || luogu4145上帝造题的七分钟2 / 花神游历各国 GSS4 - Can you answer these qu ...
- Gitlab仓库搭建及在Linux/windows中的免密使用
1. Gitlab简介 Gitlab:代码私有仓库,可以使用Git进行代码的管理. GitHub:公共仓库. GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭 ...
- 【Linux】启动Tomcat遇到Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
找不到JAVA_HOME路径,需要做以下变更: 找到启动路径所在的目录: cd bin/ vi catalina.sh 加入以下信息: export JAVA_HOME=/home/gongzi/ht ...