首页 > ACM题库 > HDU-杭电 > HDU 4530-小Q系列故事――大笨钟[解题报告]HOJ
2015
07-17

HDU 4530-小Q系列故事――大笨钟[解题报告]HOJ

小Q系列故事――大笨钟

问题描述 :

  饱尝情感苦恼的小Q本打算隐居一段时间,但仅仅在3月25号一天没有出现,就有很多朋友想念他,所以,他今天决定再出来一次,正式和大家做个告别。
  
  小Q近来睡眠情况很差――晚上睡不着,早上又起不来!以前总是全勤的他这个月甚至迟到了好几次,虽然主管没说什么,但是他自己清楚此事的严重性。
  爱情没有了,小Q不想再失去面包,于是他决定买个闹钟,为求质量可靠,特意挑了个最贵的原装进口货!但是,正所谓屋漏偏逢连夜雨、人倒霉的时候喝凉水都塞牙,小Q新买的这个进口闹钟竟然每分钟总是比正确时间慢那么几秒!
  可怜的小Q愤愤然道:“真是一个大笨钟!”
  但是为了充分利用大笨钟,小Q还是尽力想办法搞清楚它的性能,希望能将其当作正常时钟使用。
  小Q从如下三方面去研究大笨钟:
  1、 假设正常时间走了t分钟,计算大笨钟走的时间;
  2、 假设大笨钟走了t分钟,计算正常时间走的时间;
  3、 小Q将大笨钟与当前时间调成正确时间,此时记为第0次,计算第k次大笨钟显示的时间与正确时间相同需要的时间(大笨钟的结构和普通时钟相同,即分为12大格,60小格)。

输入:

输入数据第一行是一个正整数T,表示总共有T组测试数据;
接下来的每组数据首先输入正整数x,表示大笨钟每分钟比正常时钟慢x秒;
接下来一行是一个正整数Q,表示共有Q次询问;
接下来Q行,每行首先输入询问方式(1、2或3,对应小Q研究大笨钟的三方面),如果输入1或2,接下来输入正整数t,如果输入3,接下来输入正整数k(t和k的含义见题目)。

[Technical Specification]
T <= 100
x < 60
Q <= 100
t <= 10000
k <= 10

输出:

输入数据第一行是一个正整数T,表示总共有T组测试数据;
接下来的每组数据首先输入正整数x,表示大笨钟每分钟比正常时钟慢x秒;
接下来一行是一个正整数Q,表示共有Q次询问;
接下来Q行,每行首先输入询问方式(1、2或3,对应小Q研究大笨钟的三方面),如果输入1或2,接下来输入正整数t,如果输入3,接下来输入正整数k(t和k的含义见题目)。

[Technical Specification]
T <= 100
x < 60
Q <= 100
t <= 10000
k <= 10

样例输入:

1
1
3
1 2
2 2
3 1

样例输出:

118.00
122.03
2592000.00

Hint
小Q最后还想说句话:“进口货未必可靠,咱们还是支持国货吧!”

#include <stdio.h>

int main()
{
	int test,x,Q,t,k;
	double ans;
	scanf("%d",&test);
	while(test--)
	{
		scanf("%d %d",&x,&Q);
		while(Q--)
		{
			scanf("%d %d",&t,&k);
			if(t==1)
			{
				ans=(60-x)*k*1.0;
				printf("%.2lf\n",ans);
			}
			else if(t==2)
			{
				ans=1.0*60*k*60/(60-x);
				printf("%.2lf\n",ans);
			}
			else
			{
				ans=12.0*3600*60*k/x;
				printf("%.2lf\n",ans);
			}
		}
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

参考:http://blog.csdn.net/lezg_bkbj/article/details/9347185