OJ刷题---渊子赛马

来源:互联网 发布:栾川县中医院挂号软件 编辑:程序博客网 时间:2024/06/11 20:04

  题目要求:



输入代码:

#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;}

运行结果:


总结:

贪心算法的应用

0 0
原创粉丝点击