题目描述

在操作系统中,进程管理是非常重要的工作。每个进程都有唯一的进程标识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. mysqldump指令说明

    3种形式mysqldump [OPTIONS] database [tables]mysqldump [OPTIONS] -B | --databases [OPTIONS] DB1 [DB2 DB3 ...

  2. centos6 安装windows字体

    注意:字体文件必须是TTF或者ttf格式的文件, 1.yum install -y fontconfig mkfontscale2.mkdir -p /usr/share/fonts/windows_ ...

  3. Python Third Day-函数

    ''' 为什么要有函数?没有函数带来的困扰? 组织结构不清晰,可读性差 代码冗余 可扩展性差 什么是函数 具备某一个功能的工具--->函数 事先准备工具->函数的定义 拿来就用.重复使用- ...

  4. Controller View 模式

    参考:https://blog.andrewray.me/the-reactjs-controller-view-pattern/ Flux参考:http://www.cnblogs.com/hell ...

  5. LeetCode(39) Combination Sum

    题目 Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C w ...

  6. hdu 5437

    Alisha’s Party Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  7. HUD--2553 N皇后问题

    Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上.你的任务是,对于给定的N, ...

  8. Struts 2 动作注释 配置动作扩展 全局开关

    动作注释package com.yiibai.user.action; import org.apache.struts2.convention.annotation.Action; import o ...

  9. Silverlight调用GP工具实现缓冲分析

    目的: 在地图上点击一个点生成一个缓冲区. 1.制作GP工具: GP工具制作按照http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.h ...

  10. Java日志实战及解析

    Java日志实战及解析 日志是程序员必须掌握的基础技能之一,如果您写的软件没有日志,可以说你没有成为一个真正意义上的程序员. 为什么要记日志? •       监控代码 •       变量变化情况, ...