求助55pts
查看原帖
求助55pts
575480
mxdyzmx楼主2023/8/1 10:16

求助:55pts

#ifdef ONLINE_JUDGE
#include <bits/stdc++.h>
#endif
#include <vector>
//#include <pair>
using namespace std;
struct rgb{
	short c[5];
	bool operator==(rgb& A) const {
		return c[1]==A.c[1]&&c[2]==A.c[2]&&c[3]==A.c[3];
	}
}color[110][110];
bool compare(rgb a,rgb b){
	return a.c[1]==b.c[1]&&a.c[2]==b.c[2]&&a.c[3]==b.c[3];
}
vector<pair<int,int> > v[3];
int nci=0;
int main(){
	int n,m,q;
	scanf("%d%d%d",&n,&m,&q);
	for(int i=1;i<=q;i++){
		int ri,rj,t,c;
		scanf("%d%d%d%d",&ri,&rj,&t,&c);
		color[ri][rj].c[t]+=c;
		color[ri][rj].c[t]%=256;
		if(color[ri][rj]==color[ri][m-rj+1]){
			//printf("?.");
			if(v[0].empty()&&v[1].empty()){printf("Yes\n");continue;}
			for(int j=0;j<v[0].size();j++){
				if(compare(color[v[0][j].first][v[0][j].second],color[v[1][j].first][v[1][j].second])){
					v[0].erase(v[0].begin()+j);
					v[1].erase(v[1].begin()+j);
					j--;
				}
			}
			if(v[0].empty()&&v[1].empty()){printf("Yes\n");}
			else{printf("No\n");}
		}else{
			printf("No\n");
			v[0].push_back(make_pair(ri,rj));
			v[1].push_back(make_pair(ri,m-rj+1));
		}
	}
	return 0;
}
2023/8/1 10:16
加载中...