2016轻院校赛E作死报告

#include <stdio.h>
int nums[1000005], judge[1000005];///nums数组表示从1900年到某年期间的闰年个数
int days[2][13] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
void Init()
{
for(int i=1900; i<=1000000; i++)///题目数据范围
{
if((i%4==0 && i%100!=0) || i%400==0)
{
judge[i] = 1;
nums[i] = nums[i-1] + 1;///若该年为闰年,标记当年为闰年,
///截止到此年闰年个数为前一年的闰年个数加一
}
else nums[i] = nums[i-1];///若非闰年,更新当年闰年个数,即与截止到
///前一年的闰年个数相等
}
}
int main()
{
Init();///同时打印闰年判断表和闰年个数表
int t, y1, m1, d1, y2, m2, d2, ans;
scanf("%d", &t);
while(t--)
{
ans = 0;
scanf("%d %d %d %d %d %d", &y1, &m1, &d1, &y2, &m2, &d2);
if(y1==y2)///若为同一年
{
if(m1==m2)///若为同一月
printf("%d\n", d2-d1);
else
{
///若月份不同,答案则为m1那个月剩余天数加m2已过天数再加m1月到m2月之间的天数
ans+=days[judge[y1]][m1]-d1;
for(int i=m1+1; i<m2; i++)
ans+=days[judge[y1]][i];
ans+=d2;
printf("%d\n", ans);
}
}
else///若年份不同,答案则为y1那年剩余天数加y2已过天数再加y1年到y2年之间的天数
{
ans+=days[judge[y1]][m1]-d1;
for(int i=m1+1; i<=12; i++)
ans+=days[judge[y1]][i];
///上为计算y1年剩余天数
for(int i=1; i<m2; i++)
ans+=days[judge[y2]][i];
ans+=d2;
///上为计算y2年已过天数
int num = y2-y1-1;///两个年份之间剩余年数
if(num>0)
{
int run_year_nums;
run_year_nums = nums[y2-1]-nums[y1];///计算闰年数目
ans+=run_year_nums*366+(num-run_year_nums)*365;///计算之间天数
}
printf("%d\n", ans);
}
}
return 0;
}

时间: 2024-10-08 23:05:49

2016轻院校赛E作死报告的相关文章

第九届玲珑轻院校赛随笔

迎着小雨,我来到了翻车圣地---轻工业学院,我是来这几次翻几次,所以一开始心情就十分忐忑,开始的时候特别高大上,弄得跟省赛一样,还有个参赛证,不过因为意外,比赛推迟了一个小时,然后我们提前10分钟拿到了题目,因为是组队赛,所以与一开始我们分别看了三道题,,当他们两个讨论的时候,,我发现了,,以我的水平做不了分给我的那道题,然后我就在写生日party和烫饭那道题,我主要是自己单扣,生日party那道题模拟出来了但是卡常数,就TEL了,,然后就到中场吃东西时间啦,午餐很丰富,然后我就在饱腹感中AC了

【DFS+堆的二叉树结构】15轻院校赛-J-堆

[题目链接:J-堆] 1734: 堆 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 239  Solved: 113 SubmitStatusWeb Board Description Input Output Sample Input 3 1 10 3 10 5 3 1 2 1 3 5 1 2 3 4 5 3 1 2 1 2 4 2 5 Sample Output Yes No Yes [思路] 堆:堆最重要的性质就是儿子的值一定不小于父亲的值.

2015轻院校赛 B 迷宫 (bfs)

http://acm.zznu.edu.cn/problem.php?id=1967 这套题的有毒   我交了好多遍才对 坑:机关要按照顺序走 并且在走这个机关之前不能走这个机关  但是能穿过这个机关   所以不能把机关刚开始设成墙 要设成其他符号 #include <iostream> #include <cstring> #include <algorithm> #include <queue> #include <cstdio> #incl

2015轻院校赛 D 社交网络(排列组合)

http://acm.zznu.edu.cn/problem.php?id=1964 题目描述 输入 输出 样例输入 2 2 1 0 1 1 0 3 1 0 1 1 1 0 1 1 1 0 样例输出 0.500 1.125 提示 之前想了一个公式  就是0.5*pow(0.5,k)*C(k,n); k是至少认识k个人   n是认识n个人 后来队友都把所有的东西都写出来了我才去验证第二个测试数据  发现是错的  当时真的想自己从五楼上跳下来 正确的公式应该是 for(i=k;i<=n;i++) {

【二叉树、堆】15轻院校赛-J-堆

原题:http://acm.zzuli.edu.cn/problem.php?cid=1099&pid=9 [描述] [输入] [输出] Sample Input 3 1 10 3 10 5 3 1 2 1 3 5 1 2 3 4 5 3 1 2 1 2 4 2 5 Sample Output Yes No Yes [代码] 转自:http://www.cnblogs.com/chenchengxun/p/4443560.html 1 #include<stdio.h> 2 #incl

2014 UESTC 暑前集训队内赛(1) 解题报告

A.Planting Trees 排序+模拟 常识问题,将耗时排一个序,时间长的先种,每次判断更新最后一天的时间. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #define Mod 1000000007 #define INT 2147483647 #define pi acos(-1.0)

2016 CCPC 网络赛 B 高斯消元 C 树形dp(待补) G 状压dp+容斥(待补) H 计算几何

2016 CCPC 网络赛 A - A water problem 水题,但读题有个坑,输入数字长度很大.. B - Zhu and 772002 题意:给出n个数(给出的每个数的质因子最大不超过2000),选出多个数相乘得b.问有多少种选法让b 为完全平方数. tags:高斯消元,求异或方程组解的个数.   好题 每个数先素数分解开.  对于2000以内的每个素数p[i],这n个数有奇数个p[i]则系数为1,偶数个则系数为0,最后n个数的p[i]系数异或和都要为0才会使得最后的积为完全平方数.

CSU-ACM2014暑假集训基础组训练赛(1) 解题报告

•Problem A HDU 4450                 水题,签到题 水题..没啥好说的.给大家签到用的. 1 #include <cstdio> 2 int main(){ 3 int n,a,ans; 4 while(scanf("%d",&n),n){ 5 ans = 0; 6 for(int i = 0;i < n;i++){ 7 scanf("%d",&a); 8 ans += a*a; 9 } 10 pr

CSU-ACM暑假集训基础组训练赛(4)解题报告

•Problem A SPOJ SUB_PROB   AC自动机 •题意: 给定一个长为M(M≤100000 )的文本串,和N(N≤1000)个长度不超过2000的模式串,问每个模式串是否在文本串中出现过? •几乎和周一课件上的第一个例题一模一样.. •把文本串丢到AC自动机里面去跑. •注意: •1.可能有两个相同的模式串(略坑吧.) •2.一个模式串可能是另一个模式串的后缀,即如果一个点的fail指针指向的点是一个“危险节点”,那么它本身也是一个“危险节点”. 1 #include <ios