社区讨论

求一组hack数据(一个点都没过)

P5462X龙珠参与者 6已保存回复 12

讨论操作

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

当前回复
12 条
当前快照
1 份
快照标识符
@mi86d2qr
此快照首次捕获于
2025/11/21 09:21
4 个月前
此快照最后确认于
2025/11/21 09:52
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,a[100005],b[100005],tot,tot2,cnt,h,bj,vis[100004],k;

struct s{
	int z,x;
}c[100005];

bool cmp(s a,s b){
	return a.z<b.z;
}

int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		c[i].x=i;
		c[i].z=a[i];
		for(;;){
			if(c[i].z<=9999){
				c[i].z=c[i].z*10;
			}
			if(c[i].z>9999&&c[i].z<100000)
			break;
		}
    }
	sort(c+1,c+n+1,cmp);
	
	int tot=n;
	for(int i=1;;i++){
		int xu=c[tot].x;
		if(!vis[xu]&&a[xu+1]){
		k=1;
		while(vis[xu+k])k++;
		if(a[xu+k]==0){
			tot--;if(tot==0) break;
			continue;
		}
			vis[xu]=1;
			vis[xu+k]=1;
			cnt+=1;b[cnt]=a[xu];cnt+=1;b[cnt]=a[xu+k];
			k=0;
		}
		
		tot--;
		if(tot==0) break;
	}
	
	for(int i=1;i<=n;i++){
		printf("%d ",b[i]);
	}
}
二十分改成零分,又找不到错

回复

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

正在加载回复...