站外1322:【例6.4】拦截导弹问题(Noip1999),无输出求解
  • 板块题目总版
  • 楼主xiaozeming
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/7/21 13:36
  • 上次更新2023/11/3 08:27:38
查看原帖
站外1322:【例6.4】拦截导弹问题(Noip1999),无输出求解
793341
xiaozeming楼主2023/7/21 13:36
#include<bits/stdc++.h>
using namespace std;
struct k{
	int num;
	int high;
};
k a[10000];
int v[10000];
bool cmp(k x,k y){
	return x.high>y.high;
}
bool f(int m[],int l){
	for(int i=1;i<=l;i++){
		if(m[i]!=1){
			return false;
		}
	}
	return true;
}
int main(){
	int n=1,s=0;
	while(cin>>a[n].high){
		a[n].num=n;
		n++;
	}
	n-=1;
	sort(a+1,a+n+1,cmp);
	while(true){
		if(f(v,n)==true){
			break;
		}
		else{
			s++;
		}
		int f1,f2;
		for(int i=1;i<=n;i++){
			if(v[a[i].num]!=1){
				f1=a[i].num;
				f2=i;
			}
		}
		for(int i=f2;i<=n;i++){
			if(a[i].num>f1){
				v[i]=1;
			}
		}
	}
	cout<<s;
	return 0;
}
2023/7/21 13:36
加载中...