hdu 4530(数学)

小Q系列故事——大笨钟

Time Limit: 600/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 1458    Accepted Submission(s): 734

Problem Description

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

Input

输入数据第一行是一个正整数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

Output

请输出要计算的答案,以秒为单位,保留两位小数,每次查询输出一行(参见Sample)。

Sample Input

1
1
3
1 2
2 2
3 1

Sample Output

118.00
122.03
2592000.00

1.正常时钟每走1s,大笨钟走 60-t/60 s,所以正常时钟每走 xs ,大笨钟走 (1-t/60)*x s.

2.大笨钟每走 1s ,正常时钟走 60/60-t s,所以大奔钟每走 xs,正常时钟走 60*x/(60-t) s.

3.以00:00:00为参考系,大笨钟每走完一圈要比正常时钟少 60*12*x s,所以正常时钟追 12*3600/12*60*x = 60/x 圈就可以与大奔钟相遇一次,相遇k次所需时间为k*12*3600*(60/x)

#include<stdio.h>
#include<string.h>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int tcase;
    scanf("%d",&tcase);
    while(tcase--){
        int t,m,a,b;
        double ans;
        scanf("%d%d",&t,&m);
        while(m--){
            scanf("%d%d",&a,&b);
            if(a==1){
                ans = b*(60-t)*1.0;
            }
            if(a==2){
                ans = 60.0*b*60/(60-t);
            }
            if(a==3){
               ans = b*3600*12*60.0/t;
            }
            printf("%.2lf\n",ans);
        }
    }
    return 0;
}
时间: 2024-10-13 01:12:40

hdu 4530(数学)的相关文章

hdu 4961 数学杂题

http://acm.hdu.edu.cn/showproblem.php?pid=4961 先贴个O(nsqrtn)求1-n所有数的所有约数的代码: vector<int>divs[MAXN]; void caldivs() { for(int i=1;i<MAXN;i++) for(int j=i;j<MAXN;j+=i) divs[j].push_back(i); } 有了这个当时理下思路就可写了,但是重复数处理注意: 1.用一个数组vis[]  vis[i]=1表示i存在

HDU 5976 数学,逆元

1.HDU 5976 Detachment 2.题意:给一个正整数x,把x拆分成多个正整数的和,这些数不能有重复,要使这些数的积尽可能的大,输出积. 3.总结:首先我们要把数拆得尽可能小,这样积才会更大(当然不能拆1).所以容易想到是拆成2+3+...+n+s=x,先求出n即2+3+...+n<x<2+3+...+n+(n+1),然后将某个数向右平移s个单位变为n+1即可.注意:(1)预处理出前缀和,前缀积.(2)将某个数移到n+1,要除这个数再乘n+1,这里要用逆元,也要预处理出来. #in

*HDU 2451 数学

Simple Addition Expression Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1723    Accepted Submission(s): 675 Problem Description A luxury yacht with 100 passengers on board is sailing on the s

hdu 4811 数学 不难

http://acm.hdu.edu.cn/showproblem.php?pid=4811 因为看到ball[0]>=2 && ball[1]>=2 && ball[2]>=2  ans=(sum-6)*6+15    sum是三种颜色的球个数的和,然后就想到分类讨论,因为情况是可枚举的, 发现整数如果不加LL直接用%I64d打印会出问题 //#pragma comment(linker, "/STACK:102400000,102400000

[ An Ac a Day ^_^ ] hdu 4565 数学推导+矩阵快速幂

从今天开始就有各站网络赛了 今天是ccpc全国赛的网络赛 希望一切顺利 可以去一次吉大 希望还能去一次大连 题意: 很明确是让你求Sn=[a+sqrt(b)^n]%m 思路: 一开始以为是水题 暴力了一发没过 上网看了一下才知道是快速幂 而且特征方程的推导简直精妙 尤其是共轭相抵消的构造 真的是太看能力了 (下图转自某大神博客) 特征方程是C^2=-2*a*C+(a*a-b) 然后用快速幂求解 临时学了下矩阵快速幂 从这道题能看出来 弄ACM真的要数学好 这不是学校认知的高数 线代 概率分数 而

hdu 4506(数学,循环节+快速幂)

小明系列故事——师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 5427    Accepted Submission(s): 1461 Problem Description 小明自从告别了ACM/ICPC之后,就开始潜心研究数学问题了,一则可以为接下来的考研做准备,再者可以借此机会帮助一些同学,尤其是漂亮的师妹.这 不,班

hdu 5399(数学推理)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5399: 题意: 给你m个函数f1,f2,?,fm:{1,2,?,n}→{1,2,?,n}(即所有的x∈{1,2,?,n},对应的f(x)∈{1,2,?,n}),已知其中一部分函数的函数值,问你有多少种不同的组合使得所有的i(1≤i≤n),满足f1(f2(?fm(i)))=i 对于函数集f1,f2,?,fm and g1,g2,?,gm,当且仅当存在一个i(1≤i≤m),j(1≤j≤n),fi(j)≠

hdu 4432 数学杂题

http://acm.hdu.edu.cn/showproblem.php?pid=4432 6分钟写的代码,一上午去调试,, 哎,一则题目没看懂就去写了,二则,哎,,恶心了,在坚持几天然后ACM退役,想当初一直想着regional拿奖,然后在保研的时候有个更漂亮的简历,卧槽,但是,其实喜欢的是静下心,把一块知识好好弄懂,看着自己一点点由不会到会,由不熟到熟练,而且在这个过程中总结一些思考问题的方法,能把这种思维应用于其他 但是----唉,急功近利式地学,老想着快,一没思路就去看题解,然后平均每

hdu 3573(数学+贪心)

Buy Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 868    Accepted Submission(s): 392 Problem Description Imyourgod need 3 kinds of sticks which have different sizes: 20cm, 28cm and 32cm