BUPT复试专题—进程管理(2014网研)
题目描述
1. FORK PID1 PID2:标识为PlD1的进程启动了一个标识为PID2的子进程。
2. KILL PID:结朿标识为PID的进程。迠注意,与此冋时所有PID的子进程也将同时结朿。如果PID是不存在或己经结朿的进程,则不做任何操作。
3. QUERY PID:査询标i只为PID的进程是否仍然存在。
在初始状态下,系统只开启了PID为0的进程,并且在任何情况下该进程不会结束。
输入
每组测试数据的第一行足一个整数N (1~100),表示操作的数量。
接下来N行,每行按照上面的描述给出每个操作.输入保证所有的进程的PID 都不相同,且一个进程结柬后不会被重新启动。所有PID都足[0,100]之间的整数。
输出
样例输入
2
5
FORK 0 1
QUERY 1
KILL 1
QUERY 1
QUERY 2
1
QUERY 0
样例输出
Yes
No
No
No
Yes
来源
#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网研)的更多相关文章
- BUPT复试专题—网络传输(2014网研)
题目描述 网络的高效互联与智能传输是提升海量用户服务请求映射效率的重要措施.在这个任务中,你需耍在最小的传输时间内,将数据源传输到指定的网络节点中.我们给定的网络一共包含N个节点,其中节点1为数据源. ...
- BUPT复试专题—分数加法(2014网研)
题目描述 求2^-a + 2^-b,其中a和b均为正整数,结果用最简分数表示 输入 第一行为测试数据的组数T (1~400).请注意,任意两组测试数据之间相互独立的.每组测试数据一行,包含两个整数a和 ...
- BUPT复试专题—数据库检索(2014软院)
题目描述 在数据库的操作过程中,我们进场会遇到检索操作.这个题目的任务是完成一些特定格式的检索,并输出符合条件的数据库中的所有结果. 我们现在有一个数据库,维护了学生的姓名(Name),性别(Sex) ...
- BUPT复试专题—奇偶求和(2014软件)
题目描述 给出N个数,求出这N个数,奇数的和以及偶数的和. 输入 第一行为测试数据的组数T(1<=T<=50).请注意,任意两组测试数据之间是相互独立的. 每组数据包括两行: 第一行为一个 ...
- BUPT复试专题—Python List(2014)
题目描述 在Python中,List (列表)是一种非常重要的数据结构.它与C/C++/Java中的 数组有些类似,但支持添加新元素时的动态扩展.在这个问题中,你需要处理如下 的几种对List的操作. ...
- BUPT复试专题—最近公共祖先(2014软院)
题目描述 给出一棵有N个节点的有根树TREE(根的编号为1),对于每组查询,请输出树上节点u和v的最近公共祖先. 最近公共祖先:对于有向树TREE的两个结点u,v.最近公共祖先LCA(TREE u,v ...
- BUPT复试专题—最长连续等差子数列(2014软院)
题目描述 给定-个长度为N的整数数列,你需要在其中找到最长的连续子数列的长度, 并满足这个子数列是等差的.注意公差小于或等于0的情况也是允许的. 输入 第一行为数据组数T(1~100),表示测试数 ...
- BUPT复试专题—网络的核(2014)
题目描述 给定一个无向网络G,共有N个节点(1到N),M条边,求网络的核. 网络的核:到网络中其他节点距离之和最小的节点,且对于不连通的两点,他们之间的距离为N,若有多组解,输出编号最小的节点 输入 ...
- BUPT复试专题—旋转图像(2014)
题目描述 将一幅只含有01像素点的图片进行顺时针旋转,旋转的角度仅包含0°,90°,180°,270° 输入 第一行一个整数T(<50)表示输入的组数 每组测试数据第一行是两个整数N和M(< ...
随机推荐
- 异步FIFO最小深度计算
计算FIFO深度是设计FIFO中常遇到的问题.常识告诉我们,当读速率慢于写速率时,FIFO便可被用作系统中的缓冲元件或队列.因此FIFO的大小基本上暗示了所需缓存数据的容量,该容量取决于读写数据的速率 ...
- Web框架之Django_04 模板层了解(过滤器、标签、自定义过滤器、标签、inclusion_tag、模板的继承与导入)
摘要: 模版层(模板语法) 模板语法 过滤器 标签 自定义过滤器.标签 inclusion_tag 模板的继承 模板的导入 一.模板语法: 常用语法:{{ }} 变量相关{% %} ...
- Luogu 3423 [POI 2005]BAN-银行票据 (多重背包单调队列优化 + 方案打印)
题意: 给出 n 种纸币的面值以及数量,求最少使用多少张纸币能凑成 M 的面额. 细节: 好像是要输出方案,看来很是头疼啊. 分析: 多重背包,裸体??? 咳咳,好吧需要低调,状态就出来了: dp [ ...
- c#中的String方法
1.Replace(替换字符):public string Replace(char oldChar,char newChar);在对象中寻找oldChar,如果寻找到,就用newChar将oldCh ...
- Java-对复合类型数据进行排序
Array.sort(arr)可以进行简单的排序,如果需要复杂的排序可以实现Comparable package com.tj; import java.util.Arrays; public cla ...
- 《C#高级编程》笔记系列第三弹
我们在开发WinForm时,经常会看到partial关键字,比如,我们新建一个Windows Form时,后台代码自动添加如下: 1 public partial class Form1 : Form ...
- Redis学习笔记01---配置文件
1.配置文件用法 启动redis的时候指定配置⽂件路径: ./redis-server /path/to/redis.conf 不指定配置⽂件的时候使⽤内置配置⽂件启动,此⽅法仅适⽤于开发和测试. 2 ...
- Caffe 不同版本之间layer移植方法
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/52185521 (前两天这篇博客不小心被 ...
- linux删除N天前的文件
列出一天之前的文件的属性用下面的命令:find . ! -mtime -1 -print |xargs ls -lfind . -mtime +1 要删除文件的话用下面的命令:find . ! -mt ...
- POJ 2155 Matrix【二维线段树】
题目大意:给你一个全是0的N*N矩阵,每次有两种操作:1将矩阵中一个子矩阵置反,2.查询某个点是0还是1 思路:裸的二维线段树 #include<iostream>#include< ...