UVa 10339 - Watching Watches (数学)
来源:互联网 发布:linux查询ip 编辑:程序博客网 时间:2024/05/17 20:28
题意
两个钟,一个慢a秒,一个慢b秒,问下一次重合的时候是几点。
思路
首先我们要算出下次重合的时候是第几天。
表的一圈是43200秒。一天是86400秒。
我们可以这么想象:假设a > b,b在a的前面43200秒处,那么要几天a才能追上b。
day = 43200 / (a-b)
追及问题,大家肯定都知道= =
算出了几天才能再次重合,我们就能得出在这几天A表实际走了多少秒。
passSeconds = day * (86400-a)
知道了走了多少秒就能知道现在表针的位置了。
先模一下圈数,得到秒数。然后依次得到分针和时针。
注意题目要输出最近的分钟。
代码
#include <stack>#include <cstdio>#include <list>#include <cassert>#include <set>#include <iostream>#include <string>#include <vector>#include <queue>#include <functional>#include <cstring>#include <algorithm>#include <cctype>#include <string>#include <map>#include <cmath>//#include <ext/pb_ds/assoc_container.hpp>//#include <ext/pb_ds/hash_policy.hpp>using namespace std;#define LL long long#define ULL unsigned long long#define SZ(x) (int)x.size()#define Lowbit(x) ((x) & (-x))#define MP(a, b) make_pair(a, b)#define MS(arr, num) memset(arr, num, sizeof(arr))#define PB push_back#define X first#define Y second#define ROP freopen("input.txt", "r", stdin);#define MID(a, b) (a + ((b - a) >> 1))#define LC rt << 1, l, mid#define RC rt << 1|1, mid + 1, r#define LRT rt << 1#define RRT rt << 1|1#define FOR(i, a, b) for ((i)=(a); (i) < (b); (i)++)const double PI = acos(-1.0);const int INF = 0x3f3f3f3f;const double eps = 1e-8;const int MAXN = 2e4+10;const int MOD = 100007;const int dir[][2] = { {-1, 0}, {1, 0}, {0, -1}, {0, 1} };const int seed = 131;int cases = 0;typedef pair<int, int> pii;int main(){ //ROP; //freopen("out.txt", "w", stdout); int n, m; while (~scanf("%d%d", &n, &m)) { double day = 43200.0/abs(n-m); LL slowTime = (LL)(day*(86400-n)); slowTime %= 43200; int minute = slowTime / 60; slowTime %= 60; if (slowTime >= 30) minute++; int hour = minute / 60; minute %= 60; if (hour == 0) hour = 12; printf("%d %d %02d:%02d\n", n, m, hour, minute ); } return 0;}
0 0
- UVa 10339 - Watching Watches (数学)
- uva 10339 - Watching Watches(数论)
- UVA 10339 - Watching Watches(数论+推理)
- watches
- watches
- UVa 12715 Watching the Kangaroo(二分)
- Replica Watches
- Replica Watches
- ZooKeeper Watches
- people watching
- uva 11427 数学-概率
- UVa 846 Steps (数学)
- uva 数学专题入门
- UVA 10025(数学)
- uva 11538 组合数学
- uva 11401 数学
- uva 113(数学)
- uva 10161(数学)
- 第八周 阅读程序 (3)
- jsp传中文出现乱码问题
- Android进阶(九)APP编程感想
- sgu 190
- 开源的物理引擎
- UVa 10339 - Watching Watches (数学)
- 自己将几个游戏改了下,控制台实现几个小功能
- 对XML进行创建,读取,追加,删除节点的操作
- exception in thread "main" brut.androlib.AndrdolibException: Counld not decode arse file
- 4.疯狂指针-壹
- 读书笔记---arm-linux-objcopy命令解析
- 多线程14__Java同步代码块,同步方法
- C和指针读书笔记-第10章(结构和联合)
- 多继承(含虚函数覆盖)vftb中虚函数排列