POJ2287贪心 新人求赞


#include
#include
#include
using namespace std;
int N;
vector <int>T;
vector <int>Q;
int main(){
	while(cin >> N){
		if(N == 0)
			break;
		T.clear();
		Q.clear();
		int a, b;
		int f = N-1;
		int M = 0;
		for(int i = 0; i < N; i++){
			cin >> a;
			T.push_back(a);	
		}
		for(int i = 0; i < N; i++){
			cin >> b;
			Q.push_back(b);
		} 
		//输入
		sort(T.begin(), T.begin()+N);
		sort(Q.begin(), Q.begin()+N);//按升序排序
		while(!T.empty()){
			if(T[f] > Q[f]){
				T.pop_back();
				Q.pop_back();
				M += 200;
			}//若田忌的第一匹马快 则两方最快的马比
			else if(T[f] < Q[f]){
				T.erase(T.begin());
				Q.pop_back();
				M -= 200;
			}//若慢 则用田忌最慢的马与秦王最快的马比
			else{
				if(T[0] <= Q[0]){
					if(T[0] < T[f])
						M -= 200;
					T.erase(T.begin());
					Q.pop_back();
				}
				else {
					if(T[0] > Q[0])
						M += 200; 
					T.erase(T.begin());
					Q.erase(Q.begin());
				}
			}//若相等分情况考虑
			f--;
		}
		cout << M << endl;
	}
	return 0;
}

你可能感兴趣的:(POJ2287贪心 新人求赞)