求助: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;
}