小A同学和小B同学的赛车从同一个起点出发,并且他们的总用时一样。我们用“片段”法记录赛车的前进过程,例如,小A的赛车以1的速度运行2个单位时间,然后以4的速度运行1个单位时间。
裁判员想知道,这两辆赛车交替成为第一名的次数。例如,如果一开始小B的车子领先,然后小A车子超越小B,那么这就是一次第一名位置的交替。如果一开始小B的车子领先,然后A与B一样快,并僵持一段时间,然后最终小A领先,那么这也就意味着第一名位置的交替,但是,如果直到比赛结束小A都没有取得领先,那么不算第一名位置的交替。
输入
第1行:两个整数用空格隔开,N和M(1<=N,M<=1000)
第2到1+N行:每一行包含一个小A的赛车跑的N段路程,由两个整数描述:第一个数表示速度和第二个数表示以该速度运行的时间(两个整数都在1到1000范围内)。
第2+N到1+N+M行:每一行包含一个小B的赛车跑的M段路程,由两个整数描述:第一个数表示速度和第二个数表示以该速度运行的时间(两个整数都在1到1000范围内)。
输出
一行:第一名位置的交替次数。
样例输入 Copy
4 3
1 2
4 1
1 1
2 10
2 3
1 2
3 9
样例输出 Copy
2
提示
输入说明:
小A的赛车以1的速度跑2单位的时间,然后以4的速度跑1单位的时间,然后以1的速度跑1单位的时间,最后以2的速度跑10单位的时间。
小B的赛车以2的速度运行3个单位的时间,然后以1的速度运行2个单位的时间,最后以3的速度运行9个单位的时间。
请注意,这两辆车的总用时一样,都是跑了14个单位的时间。
输出说明:
小B的赛车领先,直到时间t=3,当两辆赛车都经过了6个单位的距离后相遇,并一起跑了1个单位的时间。小A的赛车随后短暂领先(第一次第一名位置的交替),但不久t=7时就被小B的赛车超越(第二次第一名位置的交替)。最后小B的赛车赢得了比赛。
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
遥控赛车比赛(T3)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- Kid Phantom 2024-05-02 20:30关注
#include<bits/stdc++.h> #define MX 1000000 #define NX 1000 using namespace std; int s1[MX + 10] = {0},s2[MX + 10] = {0}; int main() { int n,m,i,j,av[NX + 10],at[NX + 10],bv[NX + 10],bt[NX + 10],p = -1; cin >> n >> m; long long int cnt = 0,ans = 0,k1 = 1,t1 = 0,k2 = 1,t2 = 0; for (i = 1;i <= n;i++) { cin >> av[i] >> at[i]; } for (i = 1;i <= m;i++) { cin >> bv[i] >> bt[i]; } for (i = 1;i <= 1000000;i++) { if (k1 > n) { break; } s1[i] = s1[i - 1] + av[k1]; t1++; if (t1 >= at[k1]) { k1++; t1 = 0; } } for (i = 1;i <= 1000000;i++) { if (k2 > m) { break; } s2[i] = s2[i - 1] + bv[k2]; t2++; if (t2 >= bt[k2]) { k2++; t2 = 0; } } for (i = 1;i <= 1000000;i++) { if ((s1[i] > s2[i] && s1[i - 1] <= s2[i - 1]) || (s2[i] > s1[i] && s2[i - 1] <= s1[i - 1])) { ans++; if (p == -1) { p = i; } } } if (p == 1) { cout << ans - 1 << endl; } else { cout << ans << endl; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 请教如何关于Msg文件解析
- ¥200 sqlite3数据库设置用户名和密码
- ¥15 AutoDL无法使用docker install吗?
- ¥15 cups交叉编译后移植到tina sdk的t113,只需要实现usb驱动打印机,打印pdf文件
- ¥30 关于#wireshark#的问题:需要网络应用流量数据集需要做长度序列的实验,需要与应用产生的会话的数据包的长度,如视频类或者聊天类软件
- ¥15 根据上述描述表示泥浆密度沿着管路的长度方向在不断变化,如何来表示泥浆密度随管路的变化(标签-matlab|关键词-流计算)
- ¥21 matlab可以把图像数据转换为小波分析吗
- ¥60 基于香农编码的图像压缩算法实现
- ¥15 matlabGUI绘制一个函数与其导数的图像
- ¥20 大数据采集用Python爬取猫眼电影数据