标签:贪心
http://202.121.199.212/JudgeOnline/problem.php?cid=1078&pid=2
分析:贪心。
用我方最好的马去解决能够解决的对方的最好的马,如是才能为剩下较弱的马创造更大的赢的空间。
举例田忌赛马:
对方: 上 中 下
我方: 上 中 下
我方上可打败对方的中和下,如果上对战下,那么留下的中不能取胜。
代码:
#include <iostream> #include <stdio.h> #include <math.h> #include <algorithm> using namespace std; #define MAXN 1004 int n; int wincnt; int a[MAXN],b[MAXN]; int cmp(int x,int y) { return x>y; } void deal() { int index=0; int curcnt=0; for(int i=0;i<n;i++){ for(int j=index;j<n;j++){ if(a[i]>b[j]){ index=j+1; curcnt++; break; } } } if(curcnt>=wincnt) printf("YES\n"); else printf("NO\n"); } int main() { //freopen("in.txt","r",stdin); while(scanf("%d",&n)!=EOF){ if( !n ) break; wincnt=n/2+1; // cout<<wincnt<<endl; for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) scanf("%d",&b[i]); sort(a,a+n,cmp); sort(b,b+n,cmp); deal(); } return 0; }
标签:贪心
原文地址:http://blog.csdn.net/vuorange/article/details/37603831