社区讨论

萌新求解

P11231[CSP-S 2024] 决斗参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m2rlueyf
此快照首次捕获于
2024/10/27 21:07
去年
此快照最后确认于
2025/11/04 15:51
4 个月前
查看原帖
萌新不咋会,勉勉强强别出来个很懒的代码(不会算法)结果tle加wa了
CPP
#include<bits/stdc++.h>
using namespace std;
int n;
const long long N=1e5;
int r[N],r1[N],ri=0;
bool g(int n){
	for(int i=0;i<n;i++){
		if(r1[i]==n){
			return false;
		}
	}
	return true;
}
int main(){
	scanf("%d",&n);
	int mx=0,mi=1e5;
	for(int i=0;i<n;i++){
		scanf("%d",&r[i]);
		if(r[i]>mx){
			mx=r[i];
		}
		if(r[i]<mi){
			mi=r[i];
		}
	}
//	cout<<n<<" "<<endl;
//	for(int i=0;i<n;i++){
//		cout<<r[i];
//	}
	for(int i=0;i<n;i++){
		if(r[i]!=mi){
			int t=1e5,ii=1e5;
			for(int j=0;j<n;j++){
				if(g(j)){
					if(r[i]!=mx){
						if(r[j]!=r[i]&&r[j]<r[i]&&r[i]-r[j]<=t){
							t=r[i]-r[j];
							ii=j;
						}
					} 
					else{
						if(r[j]!=r[i]&&r[j]<r[i]&&r[i]-r[j]<=t){
							t=r[i]-r[j];
							ii=j;
						}
					}
				}
			}
			if(ii!=1e5){
				r1[ri]=ii;
				ri++;
			}
		}
	}
//	for(int i=0;i<n;i++){
//		cout<<r1[i]<<" ";
//	}
//	cout<<mx<<mi;
	int sum=0;
	for(int i=0;i<n;i++){
		if(r1[i]==0){
			sum++;
		}
	}
	printf("%d",sum);
	return 0;
}
求求大佬给给代码吧(刚学两个月,不知咋滴就考上了csp-s,j差1.5分)

回复

3 条回复,欢迎继续交流。

正在加载回复...