题目描述:
大家听说过“田七赛马”的故事吗?
那是在遥远的战国时期了,当时的齐国上流社会赛马成风,上至国君下至大臣,常常以重金赌赛马的输赢。而田七是一个没什么心眼却很爱面子的大臣,别人找他赛马他不好意思拒绝。但由于策略不当,屡赌屡输。
终于,在他将要把所有的俸禄都输光的时候,他找到从小长在大草原,对各种马的习性,能力都很熟悉的朋友手抓饼,请他帮自己赢得下一场比赛。
手抓饼暗中观察了对手的马,发现田七的马和他的相差不远,只要运用一点小手段,就很有可能战胜对手。
下场比赛的规则为:田七和对手分别使用N匹马来参赛,比赛过程中不允许出现平局, 最后谁赢的场数多于一半谁就是获胜(最终可能没有赢家)。假设每匹马都有恒定的速度,而手抓饼已经掌握了所有马的速度。
现在,请你来你来预测一下,手抓饼能否帮助田七赢得比赛。
输入:
输入有多组测试数据。
每组测试数据包括3行:
第一行输入N(1≤N≤1000)。表示马的数量。
第二行有N个整型数字,即田七的N匹马的速度。
第三行有N个整型数字,即对手的N匹马的速度。
当N为0时结束。
输出:
若通过手抓饼的安排,田七能赢得比赛,那么输出“YES”。
否则输出“NO”。
每个输出占一行。
样例输入
5 2 3 3 4 5 1 2 3 4 5 4 2 2 1 2 2 2 3 1 0
样例输出
YES
NO
#include <iostream>
using namespace std;
int main()
{
int n,a[1000],b[1000];
while(cin>>n)
{
if(n==0) break;
else
{
int t=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
cin>>b[i];
}
t=0;
for(int i=0;i<n-1;i++)
{
for(int r=0;r<n-1-i;r++)
{
if(a[r]>a[r+1])
{
int d=a[r];
a[r]=a[r+1];
a[r+1]=d;
}
if(b[r]>b[r+1])
{
int f=b[r];
b[r]=b[r+1];
b[r+1]=f;
}
}
}
for(int j=0;j<n;j++)
{
for(int m=t;m<n;m++)
{
if(a[j]>b[m])
{t+=1;
break;
}
else
;
}
}
if(t>n/2) cout<<"YES";
else cout<<"NO";
cout<<endl;
}
}
return 0;
}