10分 一AC 一WA 其他RE 求助大佬!!!
查看原帖
10分 一AC 一WA 其他RE 求助大佬!!!
666311
YangjinRun楼主2022/8/12 16:07

我的代码应该比较好理解

#include<bits/stdc++.h>
using namespace std;
string a,b,s;
long long ans,temp,x,t,sum;
int main(){
	cin>>a>>b;
	for(int k=0;k<a.size();k++){
		if(a[k]=='1' && k==0) continue;
		if(a[k]=='0') a[k]='1';
		else a[k]='0';
		ans=0;
		for(int i=0;i<a.size();i++) ans+=int(a[i]-'0')*pow(2,a.size()-i-1);
		temp=ans;
		x=0;
		while(temp>0){
			temp/=3;
			x++;
		}
		temp=ans;
		t=x-1;
		while(temp>1){
			s[t]=temp%3+'0';
			temp/=3;
			t--;
		}
		sum=0;
		if(x==b.size()){
			for(int i=0;i<b.size();i++){
				if(b[i]!=s[i]) sum++;
			}
		}
		if(sum==1){
			cout<<ans;
			return 0;
		}
		if(a[k]=='0') a[k]='1';
		else a[k]='0';
	}
	return 0;
}
2022/8/12 16:07
加载中...