40分只有两个测试点没过,有没有dalao帮个忙
查看原帖
40分只有两个测试点没过,有没有dalao帮个忙
1048641
BXSLG__WW楼主2023/8/25 15:47
#include<iostream>
using namespace std;
int n,m,la,lb,ta,tb,sum,a[1001],b[1001],c[1001],suma[1001],sumb[1001],wa,wb;
int main(){
	cin>>n>>m;
	int x=n;
	for(int i=0;x>0;i++){
	   a[i]=x%10;
	   x/=10;
	   la++;
	}
	ta=la-1;
	for(int i=0;i<la/2;i++){
	   swap(a[i],a[ta]);
	   ta--;
	}
	x=m;
	for(int i=0;x>0;i++){
		b[i]=x%10;
		x/=10;
		lb++;
	}
	tb=lb-1;
	for(int i=0;i<lb/2;i++){
	   swap(b[i],b[tb]);
	   tb--;
	}
	if(la>lb){
		sum=la-lb;
		wb=0;
		for(int i=sum;i<lb+sum;i++){
			c[i]=b[wb];
			wb++;
		}
		for(int i=0;i<lb+sum;i++){
			b[i]=c[i];
		}
	}else if(lb>la){
		sum=lb-la;
		wa=0;
		for(int i=sum;i<la+sum;i++){
			c[i]=a[wa];
			wa++;
		}
		for(int i=0;i<la+sum;i++){
			a[i]=c[i];
		}
	}
	for(int i=0;i<max(la,lb);i++){
		if(a[i]>b[i]) sumb[i]=1;
		else if(b[i]>a[i]) suma[i]=1;
	}
	for(int i=0;i<max(la,lb);i++){
		if(suma[i]==0) cout<<a[i];
	}
	cout<<endl;
	for(int i=0;i<max(la,lb);i++){
	    if(sumb[i]==0) cout<<b[i];
	}
	return 0;
}
2023/8/25 15:47
加载中...