满江紫求调
  • 板块P10510 进制
  • 楼主_FBI_
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/10/2 21:06
  • 上次更新2024/10/3 00:47:28
查看原帖
满江紫求调
1148242
_FBI_楼主2024/10/2 21:06

不知道为什么,全RE了

#include <bits/stdc++.h>
#include<cstring>
using namespace std;
typedef long long ll;
int a[10010],id;
void to3(ll k)
{
	while(k!=0)
	{
		a[id++]=k%3;
		k/3;
	}
}
ll to10(int a[])
{
	ll sm=0;
	for(int i=100;i>=0;i--)
	{
		sm=sm*3+a[i];
	}
	return sm;
}
int main() {
	ll v,q;
	cin>>v>>q;
	to3(v);
	for(int i=1;i<=q;i++)
	{
		int tp,ti;
		cin>>tp>>ti;
		if(tp==1)
		{
			if(a[ti]==0)
			{
				a[ti]=1;
			}
			else if(a[ti]==1)
			{
				a[ti]=2;
			}
			else if(a[ti]==2)
			{
				a[ti]=0;
			}
		}
		else if(tp==2)
		{
			if(a[ti]==0)
			{
				a[ti]=2;
			}
			else if(a[ti]==1)
			{
				a[ti]=0;
			}
			else if(a[ti]==2)
			{
				a[ti]=1;
			}
		}
		else if(tp==3)
		{
			if(a[ti]==1)
			{
				a[ti]=2;
			}
			else if(a[ti]==2)
			{
				a[ti]=1;
			}
		}
		for(int i=0;i<q;i++)
		{
			cout<<to10(a)<<endl;
		}
	}
	
	return 0;
}
2024/10/2 21:06
加载中...