re了20多发 还是我在测试数据上操作最后了10多发才发现的

其实只需要多加一句就好了

真的愚蠢啊,要不都能进前100了

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 100005;
const int INF = 0x3f3f3f3f; int sh[1005][1005];
int flag[1005];
int sum[1005];
int all;
int vis[MAXN];
vector<int> mp[MAXN];
int n,m,q; struct Node{
int ty; int x,y; int ans;
}as[MAXN]; int cc = 0;
const int Ed = 26;
void dfs(int po,int fa) { int x1,x2; int y1,y2,y3,y4; // sh[x1][x2], all, sum[x1], flag[x1]
for(int i = 0; i < (int)mp[po].size(); ++i) {
int tt = mp[po][i];
int t1 = as[tt].ty; int t2 = as[tt].x; int t3 = as[tt].y; if(t1 == 4) t2 = 0; // 这地方不写会越界 谨记啊
x1 = t2; x2 = t3; y1 = sh[x1][x2]; y2 = all; y3 = sum[x1]; y4 = flag[x1]; if(t1 == 1) {
if( (flag[t2] ^ sh[t2][t3]) == 0) {
all ++; sh[t2][t3] ^= 1; sum[t2] ++;
}
}else if(t1 == 2) {
if( (flag[t2] ^ sh[t2][t3]) == 1){
all--; sh[t2][t3] ^= 1; sum[t2] --;
}
}else if(t1 == 3) {
flag[t2] ^= 1;
all += m-sum[t2]*2;
sum[t2] = m-sum[t2];
} as[tt].ans = all;
dfs(tt,po); sh[x1][x2] = y1; all = y2; sum[x1] = y3; flag[x1] = y4;
}
}
int main(){
while(~scanf("%d %d %d",&n,&m,&q)){
memset(flag,0,sizeof(flag));
memset(sh,0,sizeof(sh));
memset(sum,0,sizeof(sum));
all = 0;
cc = 0; for(int i = 0; i <= q; ++i) mp[i].clear(); for(int i = 1; i <= q; ++i) {
as[i].y = 0;
scanf("%d",&as[i].ty);
if(as[i].ty < 3) scanf("%d %d",&as[i].x,&as[i].y);
else scanf("%d",&as[i].x); if(as[i].ty == 4) mp[as[i].x].push_back(i);
else mp[i-1].push_back(i);
} dfs(0,-1);
for(int i = 1; i <= q; ++i) printf("%d\n",as[i].ans);
}
return 0;
}

最新文章

  1. macos开发pgsql数据库
  2. system_call中断处理过程
  3. Log Buffer
  4. 【leetcode❤python】 67. Add Binary
  5. HK游记 Day2迪斯尼(下)
  6. HDU 4870 Rating 概率DP
  7. String的两个API,判断指定字符串是否包含另一字符串,在字符串中删除指定字符串。
  8. Enable EPEL Repository for RHEL/CentOS 7.x/6.x/5.x
  9. Palindromic Number (还是大数)
  10. 【Servlet】Servlet应用的get、post访问及和JSP的配合使用
  11. nrm是什么?以及nrm的安装与命令
  12. eclipse使用maven tomcat插件部署无法关联源代码
  13. vue父子组件及非父子组件通信
  14. Elasticsearch .net client NEST 5.x 使用总结
  15. 51nod1227 平均最小公倍数
  16. HTTP协议工作原理
  17. CSS中的各种width(宽度)
  18. spring boot集成阿里云短信发送接收短信回复功能
  19. Mac上Nginx-增加对HLS的支持
  20. Android 从本地图库或拍照后裁剪图片并设置头像

热门文章

  1. ES6知识点大汇总
  2. c++项目范例
  3. qt窗口的切换
  4. 零基础2018如何系统地学习python?
  5. 怎样调整XenServer下面Linux虚拟机的磁盘大小
  6. LNMP环境下搭建wordpress
  7. 原创~vue router-link添加点击事件
  8. 在一台电脑上运行两个或两个以上的tomcat
  9. 自动化测试工具selenium的使用
  10. 通过js区分移动端浏览器(微信浏览器、QQ浏览器、QQ内置浏览器)