这个解法为什么不能过 Subtask1?
查看原帖
这个解法为什么不能过 Subtask1?
490484
include13_fAKe楼主2023/12/5 14:00
#include<bits/stdc++.h> 
using namespace std;

int n,m;
int wu[2023];
int qi[2023];
int can[2023];
int main(){
	cin>>n>>m;
	while(m--){
		int op;
		int x;
		cin>>op>>x;
		if(op==1)	wu[x]=1-wu[x];
		if(op==2)	qi[x]=1-qi[x];
		if(op==3){
			for(int i=1;i<=n;i++){
				can[i]=wu[i];
			}
			for(int i=1;i<=n;i++){
				for(int j=1;j<=n-2;j++){
					if(can[j]&&can[j+1]&&qi[j+1])	can[j+2]=1;
					if(can[j]&&can[j+2]&&qi[j+1])	can[j+1]=1;
					if(can[j+1]&&can[j+2]&&qi[j+1])	can[j]=1;
				}
				for(int j=n;j>=3;j--){
					if(can[j]&&can[j-1]&&qi[j-1])	can[j-2]=1;
					if(can[j]&&can[j-2]&&qi[j-1])	can[j-1]=1;
					if(can[j-1]&&can[j-2]&&qi[j-1])	can[j]=1;
				}
			}
			cout<<can[x]<<endl;
		}
	}
	return 0;
}
2023/12/5 14:00
加载中...