1242

简单dfs 往孩子方向搜一遍 父母方向搜一遍 输入还搞什么字符串。。

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<vector>
using namespace std;
vector<int>fa[];
vector<int>ch[];
int u,v,q[];
int w[],vis1[],vis2[],o;
void dfs1(int u)
{
int i;
for(i = ; i < (int)fa[u].size() ; i++)
{
int v = fa[u][i];
if(!vis1[v])
{
vis1[v] = ;
dfs1(v);
}
}
}
void dfs2(int u)
{
int i;
for(i = ; i < (int)ch[u].size() ; i++)
{
int v = ch[u][i];
if(!vis2[v])
{
vis2[v] = ;
dfs2(v);
}
}
}
int main()
{
int i,j,n;
char s1[],s2[];
scanf("%d",&n);
while(cin>>s1)
{
if(strcmp(s1,"BLOOD")==)
break;
cin>>s2;
u = atoi(s1);
v = atoi(s2);
fa[u].push_back(v);
ch[v].push_back(u);
}
int g = ;
while(scanf("%d",&j)!=EOF)
{
g++;
q[g] = j;
}
for(i = ; i <= g ; i++)
{
if(!vis1[q[i]])
{
vis1[q[i]] = ;
dfs1(q[i]);
}
}
for(i = ; i <= g ; i++)
{
if(!vis2[q[i]])
{
vis2[q[i]] = ;
dfs2(q[i]);
}
}
for(i = ; i <= n ;i++)
if(!vis2[i]&&!vis1[i])
{
o++;
w[o] = i;
}
if(!o)
printf("0\n");
else
{
for(i = ; i < o ; i++)
printf("%d ",w[i]);
printf("%d\n",w[o]);
}
return ;
}

1242. Werewolf(dfs)的更多相关文章

  1. URAL 1242 Werewolf(DFS)

    Werewolf Time limit: 1.0 secondMemory limit: 64 MB Knife. Moonlit night. Rotten stump with a short b ...

  2. 1208. Legendary Teams Contest(dfs)

    1208 简单dfs 对于每个数 两种情况 取还是不取 #include <iostream> #include<cstdio> #include<cstring> ...

  3. hdu 1242 Rescue(bfs)

    此刻再看优先队列,不像刚接触时的那般迷茫!这也许就是集训的成果吧! 加油!!!优先队列必须要搞定的! 这道题意很简单!自己定义优先级别! +++++++++++++++++++++++++++++++ ...

  4. HDU 1242 Rescue(优先队列)

    题目来源: http://acm.hdu.edu.cn/showproblem.php?pid=1242 题目描述: Problem Description   Angel was caught by ...

  5. 1137. Bus Routes(dfs)

    1137 做过一样的 怎么又忘了 再一次搜超时 不用回溯 #include <iostream> #include<cstdio> #include<cstring> ...

  6. 1124. Mosaic(dfs)

    1124 需要想那么一点点吧 一个连通块中肯定不需要伸进手不拿的情况 不是一个肯定会需要这种情况 然后注意一点 sum=0的时候 就输出0就可以了 不要再减一了 #include <iostre ...

  7. 1742. Team building(dfs)

    1742 最小的是找联通块数 最大的找环 一个环算一个 其它的数各算一个 #include <iostream> #include<cstdio> #include<cs ...

  8. HDU 1242——Rescue(优先队列)

    题意: 一个天使a被关在迷宫里,她的很多小伙伴r打算去救她.求小伙伴就到她须要的最小时间.在迷宫里有守卫.打败守卫须要一个单位时间.假设碰到守卫必须要杀死他 思路: 天使仅仅有一个,她的小伙伴有非常多 ...

  9. PAT(A) 1148 Werewolf - Simple Version(Java)逻辑推理

    题目链接:1148 Werewolf - Simple Version (20 point(s)) Description Werewolf(狼人杀) is a game in which the p ...

随机推荐

  1. 构件图 Component Diagram

    构件图是显示代码自身结构的实现级别的图表.构件图由诸如源代码文件.二进制代码文件.可执行文件或动态链接库 (DLL) 这样的构件构成,并通过依赖关系相连接 下面这张图介绍了构件图的基本内容: 下面这张 ...

  2. Careercup - Google面试题 - 4716965625069568

    2014-05-06 00:17 题目链接 原题: Given a -D matrix represents the room, obstacle and guard like the followi ...

  3. hibernate中增加annotation @后不提示信息【转】

    此文转自:http://blog.knowsky.com/252047.htm 所需要用到的3个jar包分别是: hibernate-annotations.jar ejb3-persistence. ...

  4. 【块状树】BZOJ 1086: [SCOI2005]王室联邦

    1086: [SCOI2005]王室联邦 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 826  Solved:  ...

  5. Leetcode#78 Subsets

    原题地址 有两种方法: 1. 对于序列S,其子集可以对应为一个二进制数,每一位对应集合中的某个数字,0代表不选,1代表选,比如S={1,2,3},则子集合就是3bit的所有二进制数. 所以,照着二进制 ...

  6. 基于EBP的栈帧

    程序的OEP,一开始以 push ebp 和mov ebp esp这两句开始.   原因:c程序的开始是以一个主函数main()为开始的,而函数在访问的过程中最重要的事情就是要确保堆栈的平衡,而在wi ...

  7. struts2之请求参数接收

    struts2之请求参数接收 1. 采用基本类型接受请求参数(get/post)在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名的属性.请求路径:http:/ ...

  8. linux源码阅读笔记 fork函数

    在阅读源码的过程中,发现找不到fork函数的定义.后来在linux/init/main.c中找到了这样一条语句 static inline _syscall0(int,fork) 原来这里就是fork ...

  9. [转载]Spring Annotation Based Configuration

    Annotation injection is performed before XML injection, thus the latter configuration will override ...

  10. the-type-java-lang-charsequence-cannot-be-resolved-in-package-declaration

    http://stackoverflow.com/questions/24301986/the-type-java-lang-charsequence-cannot-be-resolved-in-pa ...