自测全过,提交全错
查看原帖
自测全过,提交全错
934390
__HappY__楼主2023/8/15 22:19
#include<bits/stdc++.h>
#define int long long
using namespace std;
int wsh(int n) {
	int h=0;
	int nn;
	while(n!=0) {
		nn=n%10;
		h+=nn;
		n/=10;
	}
	return h;
}
int ws(int n) {
	int ans=0;
	if(n==0) return 1;
	else {
		while(n!=0) {
			n/=10;
			ans++;
		}
		return ans;
	}
}
int cz(int n) {
	int m;
	m=ws(n);
	for(int i=1; i<=m; i++) {
		int y=m;
		if(wsh(n+pow(10,i-1))>wsh(n-pow(10,i-1))&&wsh(n+pow(10,i-1))>wsh(n)) {
			n=n+pow(10,i-1);
		} else if(wsh(n-pow(10,i-1))>wsh(n+pow(10,i-1))&&wsh(n-pow(10,i-1))>wsh(n)) {
			n=n-pow(10,i-1);
		} else if(wsh(n)>wsh(n-pow(10,i-1))&&wsh(n)>wsh(n+pow(10,i-1))) {
			n=n;
		}
		m=ws(n);
		if(m!=y) i=1;
	}
	return n;
}
int a[101010];
signed main() {
	int s;
	cin>>s;
	for(int i=1; i<=s; i++) {
		int n;
		cin>>n;
		a[i]=wsh(cz(n));
	}
	for(int i=1; i<=s; i++) cout<<a[i]<<endl;
	return 0;
}
2023/8/15 22:19
加载中...