过样例,但全WA,求调
  • 板块P10510 进制
  • 楼主The_Seal_
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/5/20 17:16
  • 上次更新2024/5/20 20:13:37
查看原帖
过样例,但全WA,求调
971396
The_Seal_楼主2024/5/20 17:16
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int a[50];
ll f[30]={1};
int main()
{
	ll v,q;
	cin>>v>>q;
	int pi=1,cnt=0;
	while(v!=0)
	{
		a[pi]=v%3;
		v/=3;
		pi++;
	}
	for(int i=1;i<=30;i++)
	{
	    f[i]=f[i-1]*3;
	}
	while(q--)
	{
		int op,x,maxx=-1e9;
		cin>>op>>x;
		x++;
		if(op==1)
		{
			if(a[x]==0)
				a[x]=1;
			else if(a[x]==1)
				a[x]=2;
			else a[x]=0;
		}
		else if(op==2)
		{
			if(a[x]==0)
				a[x]=2;
			else if(a[x]==1)
				a[x]=0;
			else a[x]=1;
		}
		else 
		{
			if(a[x]==0)
				a[x]=0;
			else if(a[x]==1)
				a[x]=2;
			else a[x]=1;
		}
		x=max(x,pi);
		x=min(39,x);
		 ll sum=0;
		for(int i=1;i<=x;i++)
		{
			sum+=a[i]*f[i-1];
		}
		cout<<sum<<'\n';
	}

	return 0;
}
2024/5/20 17:16
加载中...