菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
289
0

UVA 10995 - Educational Journey(数论)

原创
05/13 14:22
阅读数 527831

标签:blog   class   code   com   div   size   http   string   tar   404   style   

题意:10995 - Educational Journey

题意:给定A遇到C,M,D的时刻和D遇到C,M的时刻,求C遇到M的时刻
思路:先把时间都处理成秒,然后从A遇到C后,从该点出发,A遇到D和C遇到D,就能求出速度Va和Vc之间的关系,由A遇到M后,从该点出发,A遇到D和M遇到D可以推出Va和Vm的关系,从而推出Vc和Vm的关系,然后由C和M遇到点出发,C遇到D和M遇到D的时间可以算,然后又有速度关系,就可以推出他们相遇时间
代码:
#include <stdio.h>
#include <string.h>

double t1, t2 ,t3 ,t4, t5;

bool read(double &t) {
	double h, m, s;
	if (scanf("%lf:%lf:%lf", &h, &m, &s) != 3 || h < 0) return false;
	t = h * 3600 + m * 60 + s;
	return true;
}

int main() {
	while (read(t1)) {
		read(t2); read(t3); read(t4); read(t5);
		double k = (t5 - t2) * (t3 - t1) / (t4 - t1) / (t3 - t2);
		int t = (int)((t4 * k - t5) / (k - 1) + 1e-6 + 0.5);
		printf("%02d:%02d:%02d\n", t / 3600, t % 3600 / 60, t % 3600 % 60);
	}
	return 0;
}


UVA 10995 - Educational Journey(数论),码迷,mamicode.com

UVA 10995 - Educational Journey(数论)

发表评论

0/200
289 点赞
0 评论
收藏
为你推荐 换一批