HDU1052田忌赛马

使用动态数组,输入数据后排序,首先让田忌的每匹马发挥最大价值(挑战和自己差距最小且能赢的马),比完之后删除。之后田忌剩下的马一定不能战胜齐王,就尽量追求平局。

 
#include<bits/stdc++.h>
using namespace std;
int main(){

	int a;
	while(cin>>a&&a!=0){
	int i,j=0,k,num=0,l,m,n;
	vector<int> a1;
	vector<int> a2;
	a1.reserve(2001);
	a2.reserve(2001);
	for(i=0;i<a;i++){
		cin>>k;
		a1.push_back(k);
	}
	for(i=0;i<a;i++){
		cin>>k;
		a2.push_back(k);
	}
	sort(a1.begin(),a1.end());
	sort(a2.begin(),a2.end());
	for(j=0;j<a1.size();j++){
		for(k=a2.size()-1;k>=0;k--){
			if(a1[j]>a2[k]){
				num+=200;
				a1[j]=a1[a1.size()-1];
				a1.pop_back();
				sort(a1.begin(),a1.end());
				a2[k]=a2[a2.size()-1];
				a2.pop_back();
				sort(a2.begin(),a2.end());
				j=j-3;
				if(j<0) j=0;
				k=k+1;
				if(k>a2.size()-1) k=a2.size()-1;
			}}
		}
		if(a1.size()==1&&a1[0]>a2[0]){//a1.size()==1的特殊处理
				num+=200;
				a1.pop_back();
				a2.pop_back();
			}
		for(m=0;m<a1.size();m++)
			for(n=0;n<a2.size();n++){
				if(a1[m]==a2[n]){
				a1[m]=a1[a1.size()-1];
				a2[n]=a2[a1.size()-1];
				a1.pop_back();
				a2.pop_back();
				sort(a1.begin(),a1.end());
				sort(a2.begin(),a2.end());
				m=0;
				n=0;
		
				}
			}
			if(a1.size()==1&#038;&#038;a1[0]==a2[0]){
				a1.pop_back();
				a2.pop_back();
			}

		printf("%d\n",num-200*a1.size());
		num=0;
	
	}
	return 0;
} 
 
知识共享许可协议
Text is available under CC BY-NC-SA 4.0 unless otherwise stated.

除非特殊声明,本站所有内容均以 CC BY-NC-SA 4.0协议授权。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇