PTA田忌赛马

一、题目描述

  

 

 二、解题思路

  我们把tj的马和qw的马从小到大排个序

  情况1:如果tj最大的马比qw最大的马快,则答案加1

  情况2:如果tj最慢的马比qw最慢的马快,则答案加1

  情况3:如果tj最慢的马比qw最快的马慢,则答案减1(也就是用最慢的马去耗qw最快的马)

  情况4:如果tj最慢的马和qw最快的马一样快,且不符合以上三种情况,那么肯定这2n匹马的速度相同,故不需要对答案做操作

三、代码实现

复制代码
 1 #include "bits/stdc++.h"
 2 using namespace std;
 3 int tj[1010];
 4 int qw[1010];
 5 int main()
 6 {
 7     int n;
 8     while(cin >> n){
 9         if(n == 0)
10             break;
11         for(int i = 1;i <= n;i++)
12             cin >> tj[i];
13         for(int i = 1;i <= n;i++)
14             cin >> qw[i];
15         sort(tj + 1,tj + 1 + n);
16         sort(qw + 1,qw + 1 + n);
17         int ans = 0;
18         int fa,fb,la,lb;
19         fa = fb = 1;
20         la = lb = n;
21         for(int i = 1;i <= n;i++){
22             if(tj[fa] > qw[fb]){
23                 ans++;
24                 fa++,fb++;
25             }
26             else if(tj[la] > qw[lb]){
27                 ans++;
28                 la--,lb--;
29             }
30             else {
31                 if(tj[fa] < qw[lb]){
32                     ans--;
33                     fa++;
34                     lb--;
35                 }
36             }
37         }
38         cout << ans * 200 << endl;
39     }
40     return 0;
41 }
复制代码
posted @   scannerkk  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示