题目要求:
输入代码:
#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; }
总结:
贪心算法的应用
原文地址:http://blog.csdn.net/linhaiyun_ytdx/article/details/46419001