栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

哈尔滨理工大学21级新生程序设计竞赛(同步赛)(重现赛)@aquamoon

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

哈尔滨理工大学21级新生程序设计竞赛(同步赛)(重现赛)@aquamoon

题目描述

kiki看了一场非常激烈的球赛,他在比赛过程中分几次记录了当前两队的分数。
意犹未尽的kiki取出了自己记录的比分,想根据自己记录的不同时刻的比分推断
一下最多有多少次两队比分是持平的(包括0:0)。kiki希望你能帮助他计算这个结果。
 

输入描述:
第一行一个整数n(1<=n<=10^4),表示kyoka记录的次数。
之后输入n行,第i+i行输入以空格分开的两个整数ai,bi(1<=ai,bi<=10^9)
代表第i次记录时两队的比分(按时间顺序)

输出描述:
在第一行中输出一个整数k,代表最多有k次两队的比分是持平的。

示例1

输入
3
2 0
3 1
3 4
输出
2
说明
样例中比赛过程可能是这样的:
0:0, 1:0, 2:0, 2:1, 3:1, 3:2, 3:3, 3:4
共经历了0:0和3:3两次平分。

题目详解:

#include
using namespace std;
int main()
{
    int n,k=1;
    cin>>n;
    int a[10010],b[10010];
    for(int i=1;i<=n;i++)
        cin>>a[i]>>b[i];
    for(int i=1;i<=n;i++)
    {
        if(min(a[i],b[i])>=max(a[i-1],b[i-1]))
        {
            if(a[i-1]==b[i-1]) 
                k+=min(a[i],b[i])-max(a[i-1],b[i-1]);
            else 
                k+=min(a[i],b[i])-max(a[i-1],b[i-1])+1;
        } 
    }
    cout<     return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666000.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号