OJ刷题---渊子赛马

题目要求:

输入代码:

#include<iostream>
using namespace std;
const int MAX=1000;
int main()
{
    int n,a[MAX],b[MAX];
    while(cin>>n&&n)//n为0时停止循环
    {
        int i,j,sum,num;//sum是渊子赢得场数,num是他人赢的场数
        for(i=0; i<n; i++)
        {
            cin>>a[i];
        }
        for(i=0; i<n; i++)
        {
            cin>>b[i];
        }
        j=sum=num=0;
        for(i=0; i<n; i++)
        {
            if(a[i]>b[j])//a[1]>b[1].a[2]>b[2]式的直接比较马速
            {
                sum++,j++;//若是渊子最慢的马快于别人最慢的马,那么直接赢一场
            }
            if(a[i]<=b[j]&&a[i]<b[n-j-1])
            {
                num++;    //否则直接和别人最快的马相比,输一场~
            }
        }
        if(sum>num)
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
    return 0;
}

运行结果:

总结:

贪心算法的应用

时间: 2024-12-14 02:31:30

OJ刷题---渊子赛马的相关文章

[华为机试练习题]27.渊子赛马

题目 描述: 题目描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为"战国时期".在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都. 赛马是当时最受齐国贵族欢迎的娱乐项目.上至国王,下到大臣,常常以赛马取乐,并以重金赌输赢.田忌多次与国王及其他大臣赌输赢,屡赌屡输.一天他赛马又输了,回家后闷闷不乐.孙膑安慰他说:"下次有机会带我到马场看看,也许我能帮你." 孙膑仔细观察后发现,田忌的马和其他人的马相差并不远,只是

OJ刷题常用的4中基本输入形式

初到OJ网站上刷题,输入形式就是我们要考虑的问题.通过自己的一些摸索,OJ题目的输入形式大体上无外乎4种.下面就详细介绍: 1 输入数据文件中,第一行数据标明了测试数据的数目: 2 输入数据文件中,有标明输入结束的数据 3 输入数据文件中,测试数据一直到文件尾 4 没有输入数据 第1中情形的处理方法: //int i,kase scanf("%d",&kase); for(i=1;i<=kase;i++) { //处理第i中情况 } ...................

基于C#解决OJ刷题之输入输出问题的总结(AKOJ1064-1071A+B问题汇总)

声明:题目部分为akoj题目,代码为本人AC代码. 因为本人学校的oj支持各种环境,非常正常的当中就包括了C#.然暑假在家较为空暇,本着学习C#和复习算法的态度和目的,就又開始折腾起oj了. 题目部分是最基础的A+B系列,来看看C#的输入输出是怎么一回事吧 题目地址:http://183.167.205.82:8081/JudgeOnline/problemlist?volume=1 本文由csdn-jtahstu原创.转载请注明出处,欢迎志同道合的朋友一起交流学习.本人QQ:137375842

经典算法---渊子赛马

描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为"战国时期".在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都. 赛马是当时最受齐国贵族欢迎的娱乐项目.上至国王,下到大臣,常常以赛马取乐,并以重金赌输赢.田忌多次与国王及其他大臣赌输赢,屡赌屡输.一天他赛马又输了,回家后闷闷不乐.孙膑安慰他说:"下次有机会带我到马场看看,也许我能帮你." 孙膑仔细观察后发现,田忌的马和其他人的马相差并不远,只是策略运用不当,以致

渊子赛马

赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为"战国时期".在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都. 赛马是当时最受齐国贵族欢迎的娱乐项目.上至国王,下到大臣,常常以赛马取乐,并以重金赌输赢.田忌多次与国王及其他大臣赌输赢,屡赌屡输.一天他赛马又输了,回家后闷闷不乐.孙膑安慰他说:"下次有机会带我到马场看看,也许我能帮你." 孙膑仔细观察后发现,田忌的马和其他人的马相差并不远,只是策略运用不当,以致失败.

第十六周oj刷题——Problem C: B 求类中数据成员的最大值-类模板

Description 声明一个类模板,类模板中有三个相同类型的数据成员,有一函数来获取这三个数据成员的最大值. Input 分别输入3个整数,3个浮点数,3个字符 Output 3个整数的最大值 3个浮点数中的最大值 3个字符中的最大值 Sample Input 9 5 6 1.1 3.4 0.9 a b c Sample Output 9 3.40 c /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年 6 月 25 日

第十六周oj刷题——Problem D: B 友元类-计算两点间距离

Description 类Distance定义为类Point的友元类来实现计算两点之间距离的功能. Point类中有两个私有数据成员X和Y来表示点的两个坐标(横坐标和纵坐标), 成员函数需要自己定义. 主程序输入两个Point点的坐标,计算两个点之间的距离. Input 两个点的坐标(横坐标和纵坐标) Output 两个点的距离(保留了两位小数) Sample Input 1.0 1.0 2.0 2.0 Sample Output 1.41 /* All rights reserved. * 文

第十五周oj刷题——Problem I: C++ 习题 比较大小-类模板

Description 声明一个类模板,利用它分别实现两个整数.浮点数和字符的比较,求出大数和小数.说明:在类模板外定义各成员函数. Input 输入两个整数.两个浮点数和两个字符 Output 从大到小输出两个整数.两个浮点数和两个字符 Sample Input 3 7 45.78 93.6 a A Sample Output 7 3 93.60 45.78 a A   /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年

AOJ 5.渊子赛马

贪心算法 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 6 #define REP(n) for(int o=0;o<n;o++) 7 8 bool Do() { 9 const int maxn = 1005; 10 int N;//马的数量 11 int a[maxn];//渊子的马 12 int b[maxn];//对手的马 1