求助,为什么是10分?
查看原帖
求助,为什么是10分?
661913
liwenxi1145144444楼主2023/6/27 14:47
#include<bits/stdc++.h>
using namespace std;
string a,b;
int main(){
	cin>>a>>b;
	for(int i=0;i<a.size();i++){
		if(a[i]=='1'){
			a[i]='0';
		}else if(a[i]=='0'){
			a[i]='1';
		}
		long long ans=0,x=a.size()-1;
		for(int j=0;j<a.size();j++){
			ans+=(a[j]-'0')*pow(2,x);
			x--;
		}
		string c="";
		long long xx=ans;
		while(xx){
			c+=(xx%3)+'0';
			xx/=3;
		}
		int sum=0;
		for(int j=max(c.size(),b.size())-1;j>=0;j--){
			if(c[j]!=b[j]){
				sum++;
			}
		}
		if(sum==1){
			cout<<ans;
			return 0;
		}
		if(a[i]=='0'){
			a[i]='1';
		}else if(a[i]=='1'){
			a[i]='0';
		}
	}
	return 0;
} 
2023/6/27 14:47
加载中...