C++75pts求调
查看原帖
C++75pts求调
1387566
LaFanCYC楼主2024/12/16 21:41

subtask 0只有点一与点二AC 其他全RE subtask 1 #3WA 求调

#include<bits/stdc++.h>
using namespace std;
long long a[1441];
int n;
int m(int lg){
	int x=10;
	for(int i=1;i<=lg;i++)
		x*=x;
	return x;
}
int zgw(int x){
	int s;
	while (x!=0){
		s=x;
		x/=10;
	}
	return s;
}
int bj(int x,int y){
	int xw=0,yw=0;
	int tx=x,ty=y;
	while(tx!=0){
		tx/=10;
		xw++;
	} 
	while(ty!=0){
		ty/=10;
		yw++;
	} 
	xw--;yw--;
	while(x!=0||y!=0){
		if(zgw(x)==zgw(y)) {
			x%=m(xw);
			xw--;
			y%=m(yw);
			yw--;
		}
		if(zgw(x)>zgw(y)) return 1;
		if(zgw(x)<zgw(y)) return 0;
	}
	return 2;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++){
			if(zgw(a[i])<zgw(a[j])) swap(a[i],a[j]);
			else if(zgw(a[i])==zgw(a[j])){
				if(bj(a[i],a[j])==0) swap(a[i],a[j]);
			}
		}
	}
	for(int i=1;i<=n;i++)
	cout<<a[i];
	return 0;
}


2024/12/16 21:41
加载中...