[蓝桥杯 2018 省 A] 航班时间

题目链接:航班时间

显然:去程时间=飞行时间+时差,回程时间=飞行时间-时差

列方程组可知:飞行时间=(去程时间+回程时间)/2

本道题目还有一个难点在于如何读入和输出:可以采用scanf()解决。

首先用scanf输入前面两个时间:
 

scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);

然后用getchar()判断接下来还有没有数据,如果是“  ”说明还有:

if(getchar()==' ')scanf("(+%d)",&k);

同时输出也不用麻烦自己写函数:

printf("%02d:%02d:%02d\n",ans/3600,ans%3600/60,ans%60);

输入输出解决了那我们可以计算了,首先将输入的数据全部转化成秒来计算,最后只需改变输出即可

代码附上:

#include <bits/stdc++.h>
using namespace std;
int n;

int get(){
	int h1,m1,s1,h2,m2,s2,k=0;
	scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
	if(getchar()==' ')scanf("(+%d)",&k);
	return (k*24*3600+h2*3600+m2*60+s2)-(h1*3600+m1*60+s1);
}

int main(){
	scanf("%d",&n);
	while(n--){
		int ans=(get()+get())/2;
		printf("%02d:%02d:%02d\n",ans/3600,ans%3600/60,ans%60);
	}

	return 0;
}

相关推荐

  1. P8665 [ 2018 A] 航班时间

    2024-04-21 07:30:03       41 阅读
  2. [ 2018 A] 航班时间

    2024-04-21 07:30:03       37 阅读
  3. P8665 [ 2018 A] 航班时间-洛谷

    2024-04-21 07:30:03       48 阅读
  4. [ 2018 A] 付账问题

    2024-04-21 07:30:03       39 阅读
  5. [ 2014 A] 波动数列

    2024-04-21 07:30:03       67 阅读
  6. [ 2015 A] 饮料换购

    2024-04-21 07:30:03       62 阅读
  7. [ 2019 A] 填空问题 E

    2024-04-21 07:30:03       38 阅读
  8. [ 2014 A] 波动数列

    2024-04-21 07:30:03       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 07:30:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 07:30:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 07:30:03       87 阅读
  4. Python语言-面向对象

    2024-04-21 07:30:03       96 阅读

热门阅读

  1. dfs+剪枝,LeetCode 39. 组合总和

    2024-04-21 07:30:03       35 阅读
  2. springboot WebFilter+@Component urlPatterns 全部拦截

    2024-04-21 07:30:03       36 阅读
  3. 数组双指针

    2024-04-21 07:30:03       32 阅读
  4. MySQL 中的数据文件配置文件

    2024-04-21 07:30:03       37 阅读
  5. Few-Shot, Zero-Shot & One-shot

    2024-04-21 07:30:03       35 阅读
  6. 腾讯云免费ssl证书申请与宝塔手动部署

    2024-04-21 07:30:03       35 阅读
  7. 【Python基础】Lambda匿名函数

    2024-04-21 07:30:03       38 阅读