acm(测试)

    xiaoxiao2023-03-24  4

     N个飞船进行比赛,它们的跑道为直线并互相平行。每个飞船的起跑位置均不相同。第i个飞船从起跑线右边Xi处开始向右行驶(Xi各不相同)。比赛开始后,它能在零时间内加速到最大速度Vi并永远保持此速度。比赛没有终点,即会永远进行下去。

    你的任务是算出比赛过程中一共有多少次"超车"。

    Input

    输入数据由多组数据组成。每组数据格式如下: 第一行为一个整数N(1<=N<=250000)。 接下来的N行,每行两个整数Xi (0≤Xi≤10^6)和Vi(0<Vi<100),描述了一辆飞船的起跑位置和最大速度。 给出的飞船信息按照起跑位置Xi的升序排列,即X1<X2<X3<…<Xn。 最后一组数据N=0,标志输入结束,不需要处理。

    Output

    对于每组数据,输出仅一行包含一个整数,即"超车"的次数对1000000的模。

    Sample Input

    4 0 2 2 1 3 8 6 3 0

    Sample Output

    2 #include#include#include#includeint main(){ int n,x,v,a[101]; while(scanf("%d",&n) && n != 0) { int i,j,count = 0; memset(a,0,sizeof(a)); for(i=0; i<n; i++) { scanf("%d %d",&x,&v); a[v]++; // a[i]代表速度为 i 的飞机的个数 for(j=v+1; j<101; j++) { count = count + a[j]; count %= 1000000; } } printf("%d\n",count); } return 0;}
    转载请注明原文地址: https://ju.6miu.com/read-1201458.html
    最新回复(0)