P10510求调 WA 0tps
  • 板块灌水区
  • 楼主xxxst12
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/27 10:19
  • 上次更新2024/7/27 11:36:42
查看原帖
P10510求调 WA 0tps
1392330
xxxst12楼主2024/7/27 10:19
#include <bits/stdc++.h>
using namespace std;
long long n,cnt,a[10010],t,op,num,tmp1,p[51];
int main()
{
	memset(a,0,sizeof(a));
	cin>>n>>t;
	tmp1=n;
	p[0]=1;
	while(n!=0){
		int tmp=n%3;
		a[cnt++]=tmp;
		n=n/3;
	} 
	for(int i=1;i<=50;i++){
        p[i]=p[i-1]*3;
    }
	for(int i=1;i<=t;i++){
		cin>>op>>num;
		if(op==1){
			if(a[num]==0){
				int x=a[num];
				a[num]=1; 
				tmp1+=abs(1-x)*p[num];
			} 
			else if(a[num]==1){
				int x=a[num];
				a[num]=2;
				tmp1+=abs(2-x)*p[num];
			} 
			else{
				int x=a[num];
				a[num]=0;
				tmp1-=abs(0-x)*p[num];
			} 
		}else if(op==2){
			if(a[num]==0){
				int x=a[num];
				a[num]=2;
				tmp1+=abs(2-x)*p[num];
			} 
			else if(a[num]==1){
				int x=a[num];
				a[num]=0;
				tmp1-=abs(0-x)*p[num];
			} 
			else{
				int x=a[num];
				a[num]=1;
				tmp1+=abs(1-x)*p[num];
			}
		}else{
			if(a[num]==1){
				int x=a[num];
				a[num]=2;
				tmp1+=abs(2-x)*p[num];
			} 
			else if(a[num]==2){
				int x=a[num];
				a[num]=1;
				tmp1-=abs(1-x)*p[num];
			}  
		}
		cout<<tmp1<<endl;
	}
	return 0;
}

2024/7/27 10:19
加载中...