暴力代码求调
查看原帖
暴力代码求调
958865
aldzsfs楼主2023/10/15 19:49

wa1、2、6、8

#include<bits/stdc++.h>
using namespace std;
int t,a,b,s,pd;
string l,r;
void check(int k){
	for(int i=k;i<a;++i)
		if(l[i]>'0'){
			pd=0;
			return;
		}
}
void out1(){cout<<'5';for(int i=1;i<a;++i)	printf("0");}
void out2(int k){cout<<'5';for(int i=1;i<k;++i)	printf("0");}
void out3(int k){cout<<(char)(l[s]+k);for(int i=1;i<a-s;++i)	printf("0");}
int main(){
	cin>>t;
	while(t--){
		cin>>l>>r;
		a=l.size();
		b=r.size();
		if(a>b)	swap(l,r),swap(a,b);
		else if(a==b&&l>r)	swap(l,r);
		pd=1;
		if(a<b){
			check(1);
			if(l[0]<'5'||l[0]=='5'&&pd)	out1();
			else if(r[0]>='5')	out2(a+1);
			else if(pd)	cout<<l;
			else if(l[0]=='9'){
				cout<<'1';
				for(int i=1;i<=a;++i)	printf("0");
			}else{
				cout<<(char)(l[0]+1);
				for(int i=1;i<a;++i)	printf("0");
			}
		}else if(a==b){
			s=0;
			for(int i=0;i<a&&l[i]==r[i];++i)	printf("%c",l[i]),++s;
			check(s+1);
			if(r[s]<'5')	out3(!pd);
			else if(l[s]<'5'||l[s]=='5'&&pd)	out2(a-s);
			else	out3(!pd);
		}
		puts("");
	}
	return 0;
}
2023/10/15 19:49
加载中...