zoukankan      html  css  js  c++  java
  • TZOJ 车辆拥挤相互往里走

    102路公交车是crq经常坐的,闲来无聊,他想知道最高峰时车上有多少人,他发现这辆车只留一个门上下人,于是他想到了一个办法,上车时先数一下车上人员数目(crq所上的站点总是人不太多),之后就坐在车门口记录上下车人数,这样用一个程序就能找出高峰时刻的人数,不过crq忙着数人,程序的任务就交给你了。

    输入

    输入数据的第一行为两个正整数n和m,n表示crq上车后再经过的站点数目(1<=n<=30),m表示crq上车后车上的人数。

    接下来有n行,每行有两个非负整数x和y,分别表示该站点下车人数和上车人数(先下后上),数据保证人数符合实际(0<=x,y<=20)。(所有提到的人数都已经将crq自己包含在内)

    输出

    输出车辆行驶过程中最高峰时刻车上有多少人。

    样例输入

    3 5

    3 4

    5 2

    0 1

    样例输出

    6

    下面是考试时候写的错误代码,怎么就没注意每一组数组初始时的人数呢

    #include <stdio.h>
    
    int main()
    {
        int i,k,j,m,n,s,h;
        int a[1001];
        scanf("%d %d",&n,&m);
        for(i=0;i<n;i++)
        {
            scanf("%d %d",&s,&k);
        }
        for(i=0;i<n;i++)
        {
            a[i]=m-s+k;//从a[1]后面就错了
        }
        for(i=0;i<n-1;i++)
        {
            for(j=0;j<n-i-1;j++)
            {
                if(a[j]<a[j+1])
                {
                    h=a[j];a[j]=a[j+1];a[j+1]=h;
                }
            }
        }
        printf("%d
    ",a[0]);    
    }
    改正过的代码就是简单,想想,冒泡还是复杂了
    #include <stdio.h>
    int main()
    {
        int i,n,j,k,m,s=-90,h;
        scanf("%d %d",&n,&m);
        for(i=0;i<n;i++)
        {
            scanf("%d %d",&j,&k);
            m=m-j+k;
            if(s<m)
            {
                s=m;
            }
        }
        printf("%d",s);
    }

    继续加油了!!!

  • 相关阅读:
    深入了解SQLServer系统数据库工作原理(转)
    什么是动态语言(转)
    ASP.NET 2.0客户端回调的实现分析
    什么是“分布式应用系统”
    SQLServer数据库安全管理机制详解
    什么是 CLR(转)
    docker容器下的asp.net core项目发布运维
    VLAN技术
    用getDrawingCache方法获取ImageView中的图像需要注意的问题
    交换机的工作原理
  • 原文地址:https://www.cnblogs.com/andrew3/p/12721916.html
Copyright © 2011-2022 走看看