田忌赛马 - 去哪儿2018校招哈尔滨在线笔试题 - 开发工程师

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:
田忌和齐王赛马,两人各有n匹马,输入第1行是田忌赛马速度,第2行是齐王的,分别是两个无序正整数组给出。齐王的赛马出场顺序总是从快到慢,问:田忌合理安排顺序后,最多能赢机场比赛?(注意:速度相同不算赢)

输入
两行,每行一个数组

输出
数字表示田忌能赢的场数

样例输入
3 1 5
6 2 4
样例输出
2

解题思路:两个数组排序之后,齐王的马从快到慢,齐王每出场一匹马,如果田忌最快的马比它快答案++,去掉这匹马否则反正都赢不了,把田忌最慢的马剔除掉。

#include <iostream>
#include <algorithm>
using namespace std;
const int Maxn = 1005;


int main()
{
    int c[2*Maxn];
    int count = 0;
    while(cin >> c[count++]);
    count--;
    int first = 0, second = count/2, j = count-1;

    sort(c, c+second);
    sort(c+second, c+count);

    int ans = 0;
    second--;
    while(j>=count/2)
    {
        if(c[j]>=c[second])
            first++;
        else
        {
            ans++;
            second--;
        }
        j--;
    }

    cout << ans << endl;

    return 0;
}
/*
3 1 5
6 2 4
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值