第3、5、10个数据点wa了,求助
查看原帖
第3、5、10个数据点wa了,求助
685486
darry楼主2024/10/21 20:32
#include<bits/stdc++.h>
using namespace std;
string n2,n3;
int turn2(string s){
	int cnt;
	int len=s.size();
	for(int i=0;i<len;i++){
		cnt=cnt*2+(s[i]-'0');
	}
	return cnt;
}
int turn3(string s){
	int cnt;
	int len=s.size();
	for(int i=0;i<len;i++){
		cnt=cnt*3+(s[i]-'0');
	}
	return cnt;
}
int main(){
	cin>>n2>>n3;
	int len2=n2.size(),len3=n3.size();
	if(n2[0]=='0'){
		n2[0]='1';
		cout<<turn2(n2);
	}else{
		for(int i=0;i<len2;i++){
			if(n2[i]=='0'){
				n2[i]='1';
			}else{
				n2[i]='0';
			}
			int ans2=turn2(n2),ans3=turn3(n3);
			int der=abs(ans2-ans3);
			if(der==0){
				continue;
			}
			bool flag=1;
			while(der!=1){
				if(der%3!=0){
					flag=0;
					break;
				}
				der/=3;
			}
			if(flag){
				cout<<ans2;
				return 0;
			}
			if(n2[i]=='0'){
				n2[i]='1';
			}else{
				n2[i]='0';
			}
		}
	}
	return 0;
}
2024/10/21 20:32
加载中...