/*
以前做过一个插队的题,这个类似从后往前操作
*/
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <vector>
#define N 600000
using namespace std;
struct node
{
int x,y,z;
//每一个操作,z表示这个操作是不是有效的
node(){}
node(int a,int b,int c)
{
x=a;
y=b;
z=c;
}
};
vector<node>v;
vector<int>w;
int t,n,m;
int x,y,z;
int done[N];//表示当前数字操作过没有
int a[N];//表示那些人被添加进来了
void init()
{
memset(a,,sizeof a);
v.clear();
v.push_back(node(,,));
w.clear();
memset(done,,sizeof done);
}
int main()
{
//freopen("C:\\Users\\acer\\Desktop\\in.txt","r",stdin);
scanf("%d",&t);
//cout<<t<<endl;
while(t--)
{
init();
scanf("%d%d",&n,&m);
//cout<<n<<" "<<m<<endl;
for(int i=;i<m;i++)
{
scanf("%d%d",&x,&y);
v.push_back(node(x,y,));
}
for(int i=v.size()-;i>=;i--)
{
if(v[i].z)//这个操作可以做
{
if(v[i].x==)
v[v[i].y].z=;
else if(v[i].x==)
{
if(done[v[i].y]==)
{
a[v[i].y]=;
done[v[i].y]=;
} }
else if(v[i].x==)
{
if(done[v[i].y]==)
{
a[v[i].y]=;
done[v[i].y]=;
}
}
}
}
for(int i=;i<=n;i++)
{
//cout<<a[i]<<" ";
if(a[i]==)
{
w.push_back(i);
//cout<<i<<" ";
}
}
//cout<<endl;
printf("%d\n",w.size());
for(int i=;i<w.size();i++)
printf("%d ",w[i]);
printf("\n");
}
return ;
}
/*
急需一个能写模拟的队友,在线等挺急的 莫名地RE了,所有能考虑的地方都考虑了
*/
/*
先不要进行操作,先将所有的操作跑一边看看哪些1,2操作是有效的,哪些是无效的
*/
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <vector>
#define N 600000
using namespace std;
struct node
{
int x,y,z;
//每一个操作,z表示这个操作是不是有效的
node(){}
node(int a,int b,int c)
{
x=a;
y=b;
z=c;
}
};
vector<node>v;
vector<int>w;
int t,n,m;
int x,y,z;
int a[N];//表示那些人被添加进来了
void recall(int x)//x就是要撤销的x号操作
{
if(x<||x>v.size())
return;
//cout<<x<<endl;
if(v[x].x!=)//如果要撤销的是1,2号操作的话
{
v[x].z^=;//将这个操作撤销
//如果已经被撤销了的话就不用管了
return ;
}
else
{
v[x].z^=;//将这个操作撤销
recall(v[x].y);//继续递归下去撤销下一个操作
//如果已经被撤销了的话就不用管了
}
}
void init()
{
memset(a,,sizeof a);
v.clear();
v.push_back(node(,,));
w.clear();
}
int main()
{
//freopen("C:\\Users\\acer\\Desktop\\in.txt","r",stdin);
scanf("%d",&t);
//cout<<t<<endl;
while(t--)
{
init();
scanf("%d%d",&n,&m);
//cout<<n<<" "<<m<<endl;
for(int i=;i<m;i++)
{
scanf("%d%d",&x,&y);
//cout<<x<<" "<<y<<endl;
if(x==)
{
v.push_back(node(x,y,));
}
else if(x==)
{
v.push_back(node(x,y,));
}
else if(x==)
{
v.push_back(node(x,y,));
//cout<<"**********"<<endl;
recall(y);
// cout<<"**********"<<endl;
}
}
for(int i=;i<v.size();i++)
{
if(v[i].x!=)//只有1,2号操作可以
{
if(v[i].z)//这个操作有效的
{
//cout<<v[i].x<<" "<<v[i].y<<endl;
if(v[i].x==)
{
a[v[i].y]=;
}
else if(v[i].x==)
{
a[v[i].y]=;
}
}
}
}
for(int i=;i<=n;i++)
{
//cout<<a[i]<<" ";
if(a[i]==)
{
w.push_back(i);
//cout<<i<<" ";
}
}
//cout<<endl;
printf("%d\n",w.size());
for(int i=;i<w.size();i++)
printf("%d ",w[i]);
printf("\n");
}
return ;
}

哈尔滨理工大学第六届程序设计团队 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. angular $compiler

    directive是如何被compiled HTML编译发生在三个阶段: 1.$compile遍历DOM节点匹配directives 如果compiler找到元素上的directive,directi ...

  2. PuTsangTo

    一. 跳跃与移动的优化与完善 先给上一次的内容做一次补救,也就是上一次中还留存的,由于键盘按键事件的第一次回调与后续回调之间会间隔个小半秒带来的跳跃落地后动作延迟的情况. 最终的键盘按下回调的处理代码 ...

  3. javascript篇-----数据类型

    ECMAScript中一共有6种数据类型,其中包括5种基本数据类型(Undefined,Null,Boolean,Number,String)以及一种复杂数据类型(Object).[ES6增加多了一种 ...

  4. 新建maven项目遇到Select an Archetype时没有maven-archetype-webapp处理方法

    [已经有很多博客写过相关的了.详细请去看其他博主的.这里只是记录新建的时候发生的问题给新手提供帮助.因为我跟我的同事都遇到了.因为没记录下来,又花了时间找问题.而网上好像也不多.所以记录下来.希望帮到 ...

  5. 运行Chromium浏览器缺少google api密钥无法登录谷歌账号的解决办法

    管理员身份运行CMD,然后依次输入以下三行内容: setx GOOGLE_API_KEY "AIzaSyAUoSnO_8k-3D4-fOp-CFopA_NQAkoVCLw"setx ...

  6. http://codeforces.com/contest/610/problem/D

    D. Vika and Segments time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  7. OpenVPN CentOS7 安装部署配置详解

    一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...

  8. asp.net提高程序性能的技巧(一)

    [摘 要] 我只是提供我几个我认为有助于提高写高性能的asp.net应用程序的技巧,本文提到的提高asp.net性能的技巧只是一个起步,更多的信息请参考<Improving ASP.NET Pe ...

  9. Python自学笔记-lambda函数(来自廖雪峰的官网Python3)

    感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 匿名函数 通过 ...

  10. Entity Framework相关介绍

    在深入学习某项技术之前,应该努力形成对此技术的总体印象,并了解其基本原理,本文的目的就在于此. 一.理解EF数据模型 EF本质上是一个ORM框架,它需要把对象映射到底层数据库中的表,为此,它使用了三个 ...