为什么输出与答案一样但测试点给我评WA
查看原帖
为什么输出与答案一样但测试点给我评WA
910982
Lhy153楼主2024/1/22 15:27

真的不知道为什么=(

#include<bits/stdc++.h>
using namespace std;
string a,d;
char l;
int b,c;
int main(){
	cin>>a;
	d=a;
	for(int i=0;i<a.size();i++){
		if(a[i]=='.') b=1,c=i;
		if(a[i]=='/') b=2,c=i;
		if(a[i]=='%') b=3,c=i;
	}
	if(b==0){
		int o=0;
		for(int i=a.size()-1;i>=0;i--){
			d[i]=a[o];
			o++;
		}
		int cnt=0;
		while(d[cnt]==char(48)) d[cnt]=l,cnt++; 
	}
	if(b==1){
		string x=a.substr(0,c),y=a.substr(c+1,a.size()),n=x,m=y;
		int o=0;
		d[c]=a[c];
		for(int i=x.size()-1;i>=0;i--){
			n[i]=x[o];
			o++;
		}
		int cnt=0;
		while(n[cnt]==char(48)) n[cnt]=l,cnt++; 
		o=0;
		cnt=0;
		while(m[cnt]==char(48)) m[cnt]=l,cnt++;
		for(int i=y.size()-1;i>=0;i--){
			m[i]=y[o];
			o++;
		}
		cnt=m.size()-1;
		while(m[cnt]==char(48)) m[cnt]=l,cnt--;
		d=n+a[c]+m;
	}
	if(b==2){
		string x=a.substr(0,c),y=a.substr(c+1,a.size()),n=x,m=y;
		int o=0;
		d[c]=a[c];
		for(int i=x.size()-1;i>=0;i--){
			n[i]=x[o];
			o++;
		}
		int cnt=0;
		while(n[cnt]==char(48)) n[cnt]=l,cnt++; 
		o=0;
		for(int i=y.size()-1;i>=0;i--){
			m[i]=y[o];
			o++;
		}
		cnt=0;
		while(m[cnt]==char(48)) m[cnt]=l,cnt++;
		d=n+a[c]+m;
	}
	if(b==3){
		int o=0;
		for(int i=a.size()-2;i>=0;i--){
			d[i]=a[o];
			o++;
		}
		int cnt=0;
		d[a.size()]='%'; 
		while(d[cnt]==char(48)) d[cnt]=l,cnt++; 
	}
	cout<<d;
	return 0;
} 
2024/1/22 15:27
加载中...