60分 2,4,5,9 WA求助
查看原帖
60分 2,4,5,9 WA求助
838646
caoyuchen110911楼主2023/8/25 14:52
#include <bits/stdc++.h>
using namespace std;
int c2[100005],c3[100005];
int main()
{
	string a2,a3;
	long long b2=0,b3=0;
	int d2=1,d3=1;
	cin>>a2>>a3;
	for(int i=0;a2[i];i++)b2=b2*2+a2[i]-'0';//计算
	for(int i=0;a3[i];i++)b3=b3*3+a3[i]-'0';
	for(int i=0;a2[i];i++)//修改
	{
		switch(a2[i])
		{
			case '0':c2[d2++]=b2+pow(2,a2.size()-i-1);break;
			case '1':c2[d2++]=b2-pow(2,a2.size()-i-1);break;
		}
	}
	for(int i=0;a3[i];i++)
	{
		switch(a3[i])
		{
			case '0':
			{
				c3[d3++]=b3+pow(3,a3.size()-i-1)*2;
				c3[d3++]=b3+pow(3,a3.size()-i-1);
				break;
			}
			case '1':
			{
				c3[d3++]=b3-pow(3,a3.size()-i-1);
				c3[d3++]=b3+pow(3,a3.size()-i-1);
				break;
			}
			case '2':
			{
				c3[d3++]=b3-pow(3,a3.size()-i-1)*2;
				c3[d3++]=b3-pow(3,a3.size()-i-1);
				break;
			}
		}
	}
	sort(c2,c2+d2);
	sort(c3,c3+d3);
	int e3=1,e2=1;
	while(e2<=a2.size()&&e3<=a3.size())
	{
		if(c2[e2]==c3[e3])
		{
			printf("%d",c2[e2]);
			return 0;
		}
		else if(c2[e2]>c3[e3])e3++;
		else e2++;
	}
	return 0;
}
2023/8/25 14:52
加载中...