UVA 6475 Effective Infection Time
You are estimating the threat level of quarantined zones that have been abandoned to the infection.
One of the key variables in determining a zone’s threat level is the EIT (Effective Infection Time). This
information is essential for planning strike dates to reclaim quarantined zones. The EIT is calculated
according to the following rules:
• The EIT is the result of a function of two dates: The infection date and the strike date.
• All years are in A.Z. (After Zombie).
• Every month counts for a fraction of an EIT after its last day has passed. This means the month
of the strike date does not count for EIT.
• The first calendar year of the infection is calculated as 1/2 EIT.
◦ If the end of the year is not reached, each month only counts for a fraction of the 1/2 EIT. If
a zone was infected in January of the first year, then the 1/2 EIT is spread across 12 months
((1/2)/12 = ∼ 0.0417 EIT per month). If a zone was infected in March of the first year,
then the 1/2 EIT is spread across 10 months ((1/2)/10 = 0.0500 EIT per month).
◦ If the end of the year is reached, the year counts as a full 1/2 EIT, regardless of the infection
month. In other words, a zone infected in February of 15 A.Z. counts as only 1/2 (one-half)
EIT after December 15 A.Z. A zone infected in December of the same year will also count
as 1/2 EIT.
• All following years are calculated as 1 EIT. Each calendar month, beginning with January, counts
for 1/12 EIT (∼ 0.0833 EIT).
• Every zone infected on the same month will have the same EIT for any given strike date. Therefore
only the month and year are given.
The number and order of months in a calendar year remains the same as the modern
Gregorian calendar.
Input
The first line will be an integer N, where 1 ≤ N ≤ 50 giving the number of zones. For each zone, a
pair of lines of will be provided:
• The first line contains the infection date. The second contains the strike date.
• The first integer of a date represents the month, M (1 ≤ M ≤ 12), and the second integer
represents the year, Y (0000 ≤ Y ≤ 0030). The year will always have 4 digits.
• The strike date will never precede the infection date.
Output
Output the EIT for each zone on its own line. The EIT must be rounded to the fourth digit after the
decimal point. The ones-digit must always be printed even if it is a zero.
Sample Input
2
2 0009
11 0012
3 0010
10 0010
Sample Output
3.3333
0.3500
水题一个。题意真心难懂,读了不下1个小时。
题意:考虑第一年,若第一年过完了按0.5算。没过完就按0.5/x*y算,随后的每年的每月按1.0/12算。
计算出有多少月就能够了。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<limits.h>
typedef long long LL;
using namespace std;
double m1,y1;
double m2,y2;
int main()
{
int t;
cin>>t;
while(t--)
{
double ans;
cin>>m1>>y1>>m2>>y2;
if(y1==y2)
ans=0.5/(12-m1+1)*(m2-m1);
else
ans=(y2-y1-1)+1.0/12*(m2-1)+0.5;
printf("%.4lf\n",ans);
}
return 0;
}
UVA 6475 Effective Infection Time的更多相关文章
- Effective前端2:优化html标签
div { float: left; } .keyboard > div + div { margin-left: 8px; } --> div{display:table-cell;ve ...
- Effective java笔记(二),所有对象的通用方法
Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...
- 《Effective java》-----读书笔记
2015年进步很小,看的书也不是很多,感觉自己都要废了,2016是沉淀的一年,在这一年中要不断学习.看书,努力提升自己!预计在2016年要看12本书,主要涉及java基础.Spring研究.java并 ...
- 《Effective Java》学习笔记——积累和激励
从一个实际案例说起 国庆长假前一个礼拜,老大给我分配了这么一个bug,就是打印出来的报表数量为整数的,有的带小数位,有的不带,毫无规律. 根据短短的两个多月的工作经验以及猜测,最终把范围缩小到以下这段 ...
- Effective前端5:减少前端代码耦合
什么是代码耦合?代码耦合的表现是改了一点毛发而牵动了全身,或者是想要改点东西,需要在一堆代码里面找半天.由于前端需要组织js/css/html,耦合的问题可能会更加明显,下面按照耦合的情况分别说明: ...
- Effective前端4:尽可能地使用伪元素
伪元素是一个好东西,但是很多人都没怎么用,因为他们觉得伪元素太诡异了.其实使用伪元素有很多好处,最大的好处是它可以简化页面的html标签,同时用起来也很方便,善于使用伪元素可以让你的页面更加地简洁优雅 ...
- Effective前端3:用CSS画一个三角形
p { text-indent: 2em } .triangle-container p { text-indent: 0 } img { margin: 15px 0 } 三角形的场景很常见,打开一 ...
- Effective前端1:能使用html/css解决的问题就不要使用JS
div{display:table-cell;vertical-align:middle}#crayon-theme-info .content *{float:left}#crayon-theme- ...
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
随机推荐
- 手工安装kubernetes
参考的URL是 http://www.cnblogs.com/zhenyuyaodidiao/p/6500830.html 安装kubernets本身比较顺利,只是作dashboard时,老是日文版, ...
- React Native - 1 Windows下的环境配置(Windows+Android)
参考:https://facebook.github.io/react-native/docs/getting-started.html(要FQ) 网站上建议使用Chocolatey去配环境, ...
- 计蒜客 30996.Lpl and Energy-saving Lamps-线段树(区间满足条件最靠左的值) (ACM-ICPC 2018 南京赛区网络预赛 G)
G. Lpl and Energy-saving Lamps 42.07% 1000ms 65536K During tea-drinking, princess, amongst other t ...
- hdu5558
hdu5558 题意 给出一个字符串,按照特殊规则进行加密. 假设已经加密了前 \(i\) 个字符,从第 \(i+1\) 个字符开始找到 \(S[i..N]\) 的长度为 \(K\) 的最长前缀等于 ...
- 11.5NOIP2018提高组模拟题
书信(letter) Description 有 n 个小朋友, 编号为 1 到 n, 他们每人写了一封信, 放到了一个信箱里, 接下来每个人从中抽取一封书信. 显然, 这样一共有 n!种拿到书信的情 ...
- 9、Django实战第9天:用户注册功能
今天完成的是用户注册功能... 首先把注册页面的前端文件register.html复制到templates目录下 编辑users.views.py,创建一个注册的类 class RegisterVie ...
- POJ 3494 Largest Submatrix of All 1’s(最大子图形)
[题目链接] http://poj.org/problem?id=3494 [题目大意] 在01矩阵中求最大全1子矩形 [题解] 在处理每个点的时候,继承上一个点等高度下的左右最大扩展, 计算在该层的 ...
- 【贪心】【线性基】bzoj2460 [BeiJing2011]元素 / bzoj3105 [cqoi2013]新Nim游戏
p2460: #include<cstdio> #include<algorithm> using namespace std; #define N 1001 typedef ...
- 【博弈论】【SG函数】bzoj1457 棋盘游戏
一开始就必胜的特判一下. #include<cstdio> #include<cstring> #include<set> #include<algorith ...
- Xshell连接VM中Ubuntu
摘要:终端输入ifconfig获取本地虚拟机的IP地址;安装openssh-serversudoapt-getinstallopenssh-server 查看server是否启动: ps-ef|gre ...