题目描述

在操作系统中,进程管理是非常重要的工作。每个进程都有唯一的进程标识PID。每个进程都可以启动子进程,此时我们称该它本身是其子进程的父进程。除PID为0的进程之外,每个进程冇且只冇一个父进程。在这个任务中,你需要实 时维护操作系统运行中的三种基本操作:
1. FORK PID1 PID2:标识为PlD1的进程启动了一个标识为PID2的子进程。
2. KILL PID:结朿标识为PID的进程。迠注意,与此冋时所有PID的子进程也将同时结朿。如果PID是不存在或己经结朿的进程,则不做任何操作。
3. QUERY PID:査询标i只为PID的进程是否仍然存在。
在初始状态下,系统只开启了PID为0的进程,并且在任何情况下该进程不会结束。

 

输入

输入的第一行足一个整数T(<=50),表示输入的数据组数。
每组测试数据的第一行足一个整数N (1~100),表示操作的数量。
接下来N行,每行按照上面的描述给出每个操作.输入保证所有的进程的PID 都不相同,且一个进程结柬后不会被重新启动。所有PID都足[0,100]之间的整数。

 

输出

对于每个QUERY,如果查询的进程仍然存在则输出Yes,否则输出No。输出的大小写必须和样例一致。

样例输入

2
5
FORK 0 1
QUERY 1
KILL 1
QUERY 1
QUERY 2
1
QUERY 0

样例输出

Yes
No
No
No
Yes

来源

2014网研C题

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<map>
#include<vector>
using namespace std;
struct tree
{
vector<int> i;
int lable;
};
map<int,tree> donser;
void deal(int m)
{
donser[m].lable=;
vector<int> tep=donser[m].i;
vector<int>::iterator it;
while(tep.size())
{
int a=tep.back();
tep.pop_back();
deal(a);
}
return;
}
int main()
{
int a,b;
while(~scanf("%d",&a))
{
while(a--)
{
cin>>b;
while(b--)
{
string temp;
cin>>temp;
donser[].lable=;
if(temp[]=='F')
{
int m,n;
cin>>m>>n;
donser[m].i.push_back(n);
donser[m].lable=;
donser[n].lable=;
}
else if(temp[]=='Q')
{
int m;
cin>>m;
if(donser[m].lable==)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
else if(temp[]=='K')
{
int m;
cin>>m;
deal(m);
}
}
donser.clear();
donser[].lable=;
}
}
return ;
}

BUPT复试专题—进程管理(2014网研)的更多相关文章

  1. BUPT复试专题—网络传输(2014网研)

    题目描述 网络的高效互联与智能传输是提升海量用户服务请求映射效率的重要措施.在这个任务中,你需耍在最小的传输时间内,将数据源传输到指定的网络节点中.我们给定的网络一共包含N个节点,其中节点1为数据源. ...

  2. BUPT复试专题—分数加法(2014网研)

    题目描述 求2^-a + 2^-b,其中a和b均为正整数,结果用最简分数表示 输入 第一行为测试数据的组数T (1~400).请注意,任意两组测试数据之间相互独立的.每组测试数据一行,包含两个整数a和 ...

  3. BUPT复试专题—数据库检索(2014软院)

    题目描述 在数据库的操作过程中,我们进场会遇到检索操作.这个题目的任务是完成一些特定格式的检索,并输出符合条件的数据库中的所有结果. 我们现在有一个数据库,维护了学生的姓名(Name),性别(Sex) ...

  4. BUPT复试专题—奇偶求和(2014软件)

    题目描述 给出N个数,求出这N个数,奇数的和以及偶数的和. 输入 第一行为测试数据的组数T(1<=T<=50).请注意,任意两组测试数据之间是相互独立的. 每组数据包括两行: 第一行为一个 ...

  5. BUPT复试专题—Python List(2014)

    题目描述 在Python中,List (列表)是一种非常重要的数据结构.它与C/C++/Java中的 数组有些类似,但支持添加新元素时的动态扩展.在这个问题中,你需要处理如下 的几种对List的操作. ...

  6. BUPT复试专题—最近公共祖先(2014软院)

    题目描述 给出一棵有N个节点的有根树TREE(根的编号为1),对于每组查询,请输出树上节点u和v的最近公共祖先. 最近公共祖先:对于有向树TREE的两个结点u,v.最近公共祖先LCA(TREE u,v ...

  7. BUPT复试专题—最长连续等差子数列(2014软院)

    题目描述   给定-个长度为N的整数数列,你需要在其中找到最长的连续子数列的长度, 并满足这个子数列是等差的.注意公差小于或等于0的情况也是允许的. 输入 第一行为数据组数T(1~100),表示测试数 ...

  8. BUPT复试专题—网络的核(2014)

    题目描述 给定一个无向网络G,共有N个节点(1到N),M条边,求网络的核. 网络的核:到网络中其他节点距离之和最小的节点,且对于不连通的两点,他们之间的距离为N,若有多组解,输出编号最小的节点 输入 ...

  9. BUPT复试专题—旋转图像(2014)

    题目描述 将一幅只含有01像素点的图片进行顺时针旋转,旋转的角度仅包含0°,90°,180°,270° 输入 第一行一个整数T(<50)表示输入的组数 每组测试数据第一行是两个整数N和M(< ...

随机推荐

  1. python库——h5py入门讲解

    本文只是简单的对h5py库的基本创建文件,数据集和读取数据的方式进行介绍,作者刚接触h5py,完全靠看文档自学,如果哪里说的不对,欢迎纠正!如果读者需要进一步详细的学习h5py的更多知识,请参考h5p ...

  2. 服务不支持 chkconfig 的解决方法

    “服务不支持 chkconfig”: 请注意检查脚本的前面,是否有完整的两行:#chkconfig: 2345 80 90    #description:auto_run 在脚本前面这两行是不能少的 ...

  3. kali-set

    Set 简介 开源的社会工程学利用套件,通常结合metasploit(部分)来使用 更改 /etc/setoolkit下的配置文件 set_config BLEEDING_EDGE="Fal ...

  4. 【LeetCode】Palindrome Number(回文数)

    这道题是LeetCode里的第9道题. 题目说的: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: ...

  5. tomcat的管理(manager)报错403

    管理tomcat的时候遇到了以下问题: 1.刚开始需要用户名密码,不知道用户名和密码是什么,但是输入什么都不正确. 解决办法: 自己在tomcat-users.xml中按格式添加用户 conf文件夹里 ...

  6. 【Luogu】P3391文艺平衡树(Splay)

    题目链接 ddosvoid和自为风月马前卒教了我这道题 他们好强啊 如果我们要反转区间[l,r] 我们首先把l的前驱旋转到根节点 再把r的后继旋转到根节点的右儿子 那么此时根节点的右儿子的左儿子所代表 ...

  7. PAT天梯赛练习题——L3-003. 社交集群(并查集按秩合并)

    L3-003. 社交集群 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 在社交网络平台注册时,用户通常会输入自己的兴趣爱好, ...

  8. 刷题总结——玉蟾宫(bzoj3039单调栈)

    题目: Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地.这片土地被分成N*M个格子,每个格子里写着'R ...

  9. Codeforces 894.A QAQ

    A. QAQ time limit per test 1 second memory limit per test 256 megabytes input standard input output ...

  10. sublime text3安装angularjs插件

    sublime能够支持AngularJS开发那绝对是一件很爽的事情.下面我一步步讲解如何为sublime安装AngularJS插件. 首先提供一个破解版的sublime text 3的下载地址:htt ...