1. /*
  2. 以前做过一个插队的题,这个类似从后往前操作
  3. */
  4. #include <iostream>
  5. #include <stdio.h>
  6. #include <algorithm>
  7. #include <string.h>
  8. #include <vector>
  9. #define N 600000
  10. using namespace std;
  11. struct node
  12. {
  13. int x,y,z;
  14. //每一个操作,z表示这个操作是不是有效的
  15. node(){}
  16. node(int a,int b,int c)
  17. {
  18. x=a;
  19. y=b;
  20. z=c;
  21. }
  22. };
  23. vector<node>v;
  24. vector<int>w;
  25. int t,n,m;
  26. int x,y,z;
  27. int done[N];//表示当前数字操作过没有
  28. int a[N];//表示那些人被添加进来了
  29. void init()
  30. {
  31. memset(a,,sizeof a);
  32. v.clear();
  33. v.push_back(node(,,));
  34. w.clear();
  35. memset(done,,sizeof done);
  36. }
  37. int main()
  38. {
  39. //freopen("C:\\Users\\acer\\Desktop\\in.txt","r",stdin);
  40. scanf("%d",&t);
  41. //cout<<t<<endl;
  42. while(t--)
  43. {
  44. init();
  45. scanf("%d%d",&n,&m);
  46. //cout<<n<<" "<<m<<endl;
  47. for(int i=;i<m;i++)
  48. {
  49. scanf("%d%d",&x,&y);
  50. v.push_back(node(x,y,));
  51. }
  52. for(int i=v.size()-;i>=;i--)
  53. {
  54. if(v[i].z)//这个操作可以做
  55. {
  56. if(v[i].x==)
  57. v[v[i].y].z=;
  58. else if(v[i].x==)
  59. {
  60. if(done[v[i].y]==)
  61. {
  62. a[v[i].y]=;
  63. done[v[i].y]=;
  64. }
  65.  
  66. }
  67. else if(v[i].x==)
  68. {
  69. if(done[v[i].y]==)
  70. {
  71. a[v[i].y]=;
  72. done[v[i].y]=;
  73. }
  74. }
  75. }
  76. }
  77. for(int i=;i<=n;i++)
  78. {
  79. //cout<<a[i]<<" ";
  80. if(a[i]==)
  81. {
  82. w.push_back(i);
  83. //cout<<i<<" ";
  84. }
  85. }
  86. //cout<<endl;
  87. printf("%d\n",w.size());
  88. for(int i=;i<w.size();i++)
  89. printf("%d ",w[i]);
  90. printf("\n");
  91. }
  92. return ;
  93. }
  1. /*
  2. 急需一个能写模拟的队友,在线等挺急的
  3.  
  4. 莫名地RE了,所有能考虑的地方都考虑了
  5. */
  6. /*
  7. 先不要进行操作,先将所有的操作跑一边看看哪些1,2操作是有效的,哪些是无效的
  8. */
  9. #include <iostream>
  10. #include <stdio.h>
  11. #include <algorithm>
  12. #include <string.h>
  13. #include <vector>
  14. #define N 600000
  15. using namespace std;
  16. struct node
  17. {
  18. int x,y,z;
  19. //每一个操作,z表示这个操作是不是有效的
  20. node(){}
  21. node(int a,int b,int c)
  22. {
  23. x=a;
  24. y=b;
  25. z=c;
  26. }
  27. };
  28. vector<node>v;
  29. vector<int>w;
  30. int t,n,m;
  31. int x,y,z;
  32. int a[N];//表示那些人被添加进来了
  33. void recall(int x)//x就是要撤销的x号操作
  34. {
  35. if(x<||x>v.size())
  36. return;
  37. //cout<<x<<endl;
  38. if(v[x].x!=)//如果要撤销的是1,2号操作的话
  39. {
  40. v[x].z^=;//将这个操作撤销
  41. //如果已经被撤销了的话就不用管了
  42. return ;
  43. }
  44. else
  45. {
  46. v[x].z^=;//将这个操作撤销
  47. recall(v[x].y);//继续递归下去撤销下一个操作
  48. //如果已经被撤销了的话就不用管了
  49. }
  50. }
  51. void init()
  52. {
  53. memset(a,,sizeof a);
  54. v.clear();
  55. v.push_back(node(,,));
  56. w.clear();
  57. }
  58. int main()
  59. {
  60. //freopen("C:\\Users\\acer\\Desktop\\in.txt","r",stdin);
  61. scanf("%d",&t);
  62. //cout<<t<<endl;
  63. while(t--)
  64. {
  65. init();
  66. scanf("%d%d",&n,&m);
  67. //cout<<n<<" "<<m<<endl;
  68. for(int i=;i<m;i++)
  69. {
  70. scanf("%d%d",&x,&y);
  71. //cout<<x<<" "<<y<<endl;
  72. if(x==)
  73. {
  74. v.push_back(node(x,y,));
  75. }
  76. else if(x==)
  77. {
  78. v.push_back(node(x,y,));
  79. }
  80. else if(x==)
  81. {
  82. v.push_back(node(x,y,));
  83. //cout<<"**********"<<endl;
  84. recall(y);
  85. // cout<<"**********"<<endl;
  86. }
  87. }
  88. for(int i=;i<v.size();i++)
  89. {
  90. if(v[i].x!=)//只有1,2号操作可以
  91. {
  92. if(v[i].z)//这个操作有效的
  93. {
  94. //cout<<v[i].x<<" "<<v[i].y<<endl;
  95. if(v[i].x==)
  96. {
  97. a[v[i].y]=;
  98. }
  99. else if(v[i].x==)
  100. {
  101. a[v[i].y]=;
  102. }
  103. }
  104. }
  105. }
  106. for(int i=;i<=n;i++)
  107. {
  108. //cout<<a[i]<<" ";
  109. if(a[i]==)
  110. {
  111. w.push_back(i);
  112. //cout<<i<<" ";
  113. }
  114. }
  115. //cout<<endl;
  116. printf("%d\n",w.size());
  117. for(int i=;i<w.size();i++)
  118. printf("%d ",w[i]);
  119. printf("\n");
  120. }
  121. return ;
  122. }

哈尔滨理工大学第六届程序设计团队 I-Team的更多相关文章

  1. 哈尔滨理工大学第六届程序设计团队 H-Permutation

    /* 数学是硬伤......推了半小时推出来一个错误的公式 */ #include <iostream> #include <stdio.h> #include <alg ...

  2. 哈尔滨理工大学第六届程序设计团队 E-Mod

    /* 成功水过,哈哈哈,可能数据水吧 */ #include <stdio.h> #include <algorithm> #include <string.h> ...

  3. 哈尔滨理工大学第七届程序设计竞赛初赛(BFS多队列顺序)

    哈尔滨理工大学第七届程序设计竞赛初赛https://www.nowcoder.com/acm/contest/28#question D题wa了半天....(真真正正的半天) 其实D题本来就是一个简单 ...

  4. 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)I - B-旅行

    题目描述 小z放假了,准备到RRR城市旅行,其中这个城市有N个旅游景点.小z时间有限,只能在三个旅行景点进行游玩.小明租了辆车,司机很善良,说咱不计路程,只要你一次性缴费足够,我就带你走遍RRR城. ...

  5. 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)I - 没有名字

    题目描述 tabris实在是太菜了,没打败恶龙,在绿岛也只捡到一块生铁回去了,为了不在继续拉低acimo星球的平均水平逃离地球,来到了Sabi星球. 在这里tabris发现了一种神奇的生物,这种生物不 ...

  6. 哈尔滨理工大学第七届程序设计竞赛(G.Great Atm)

    Description An old story said the evil dragon wasn't evil at all, only bewitched, and now that the r ...

  7. 北京师范大学第十六届程序设计竞赛决赛 I 如何办好比赛

    链接:https://www.nowcoder.com/acm/contest/117/I来源:牛客网 如何办好比赛 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他 ...

  8. 哈理工软件学院"兆方美迪"杯第六届程序设计大赛【高年级组】--决赛 题解

    比赛链接:http://acm-software.hrbust.edu.cn/contest.php?cid=1082 A.好SB啊真是,还以为lis-数有多少个数不一样. #include < ...

  9. H-数学考试 想法题+最新头文件 2018年长沙理工大学第十三届程序设计竞赛

    https://www.nowcoder.com/acm/contest/96/H 坑点:INF开太小了... #define _CRT_SECURE_NO_WARNINGS #include< ...

随机推荐

  1. 使用 TUN 设备实现一个简单的 UDP 代理隧道

    若要实现在 Linux 下的代理程序,方法有很多,比如看着 RFC 1928 来实现一个 socks5 代理并自行设置程序经过 socks5 代理等方式,下文是使用 Linux 提供的 tun/tap ...

  2. Java 基础语法

    一.关键字 定义:被 Java 赋予特殊含义的单词. 特点:基本上都是英文小写. 用于定义数据类型的关键字 基本数据类型 整数型(默认为 int) byte(8 位,1 字节,默认值是 0,最大存储数 ...

  3. Linux入门之常用命令(4)vi编辑器

    vi分为三种模式 一般模式:删除字符.删除整行.复制粘贴等操作 编辑模式:i o a r进入 输入字符  Esc退出 命令行模式::或/ 将光标移动到最末行 搜寻数据 读取或替换 退出vi 显示行号 ...

  4. 51 nod 1624 取余最长路 思路:前缀和 + STL(set)二分查找

    题目: 写这题花了我一上午时间. 下面是本人(zhangjiuding)的思考过程: 首先想到的是三行,每一行一定要走到. 大概是这样一张图 每一行长度最少为1.即第一行(i -1) >= 1, ...

  5. 配置 VirtualBox backend - 每天5分钟玩转 Docker 容器技术(75)

    Rexy-Ray 支持多种 backend,上一节我们已经安装配置了 Rex-Ray,今天演示如何配置 VirtualBox backend. 在 VirtualBox 宿主机,即我的笔记本上启动 v ...

  6. .NET十年回顾

    一.   引子 从我还是编程菜鸟时起,.NET就从来没让我失望过.总是惊喜不断. 当年我第一个项目是做个进销存.用的Winform.当时我是机电工程师.编程只是业余心血来潮而已. .NET的低门槛.V ...

  7. Select的option事件问题

    一开始看你们会觉得没问题,我也就是觉得没问题所以才找不到错误所在. 问题出在option本身是没有事件的说法的,只能在select里添加事件,再获取option的属性值 这是我的写法 select设置 ...

  8. mysql error 1290 hy000:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statemen' 解决方案

    如果在执行授权命令的时候报错 mysql> grant all privileges on *.* to root@"; ERROR (HY000): The MySQL server ...

  9. jQuery实现web页面固定列表搜索

    1.需求分析:现在有一个数据展示列表页面,列表内容固定,使用jQuery在固定的列表中实现搜索功能. 2.核心代码: <!-- 添加jquery库 --> <script type= ...

  10. ubuntu中安装ftp服务器

    1. 实验环境 ubuntu14.04 2.vsftpd介绍 vsftpd 是“very secure FTP daemon”的缩写,是一款在Linux发行版中最受推崇的FTP服务器程序,安全性是它的 ...