题意:告诉你族谱,然后Q条查询s和t的关系,妈妈输出M,爸爸输出F;

题目地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78233#problem/D

如查询8 2输出 0 FM(0表示8是2的祖辈)

思路:dfs,bfs都行吧,但我不知道该怎么用bfs生成图,最直接的还是dfs;遍历二叉树,看是否在同一棵树中

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <sstream>
#include <queue>
#include <vector>
#define repu(i,a,b) for(int i=a;i<b;i++)
using namespace std;
#define N 100010
int vis[N];
int dir[][] = {{,},{-,},{,},{,-}};
int fa[N],ma[N];
char st[N];
int dfs(int s,int l,int e)
{
if(s == )
return ;
if(s == e)
return ;
st[l] = 'F';
if(dfs(fa[s],l+,e))///如果是fa,就根据fa找下去
return ;
st[l] = 'M';
if(dfs(ma[s],l+,e))
return ;
return ;
}
int main()
{
int T,n,Q,a,b,c,s,e;
scanf("%d",&T);
while(T--)
{
memset(fa,,sizeof(fa));
memset(ma,,sizeof(ma));
scanf("%d",&n);
repu(i,,n/)
{
scanf("%d%d%d",&a,&b,&c);
fa[a] = b;
ma[a] = c;
}
memset(st,,sizeof(st));
scanf("%d",&Q);
while(Q--)
{
scanf("%d%d",&s,&e);
if(dfs(s,,e))
printf("1 %s\n",st);
else if(dfs(e,,s))
printf("0 %s\n",st);
else
printf("Relative\n");
}
}
return ;
}

福州月赛2057 DFS的更多相关文章

  1. ZOJ 3761 Easy billiards 月赛E DFS

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3761 题目大意:给定n个位置的小球,小球的运动方向只能是水平或者 ...

  2. P2409 Y的积木

    luogu月赛 暴力dfs,估计过不了几个点,大概也就得30分左右? #include <bits/stdc++.h> using namespace std; const int max ...

  3. FZU 2057 家谱(dfs)

    Problem 2057 家谱 Accept: 129    Submit: 356Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem ...

  4. 牛客小白月赛12 H(dfs序+线段树),F(分块思想+bit),J(二分)

    H 华华和月月种树 链接:https://ac.nowcoder.com/acm/contest/392/H 思路:先得到整棵树最终的形态,在这棵树上进行三种操作,用dfs跑下,第二种操作就直接对最终 ...

  5. 牛客小白月赛6C-桃花(DFS/BFS求树的直径)

    链接:https://www.nowcoder.com/acm/contest/136/C 来源:牛客网 桃花 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言 ...

  6. 【bzoj5130】[Lydsy12月赛]字符串的周期 DFS+KMP

    题目描述 给定 $n$ 和 $m$ ,求所有 长度为 $n$ ,字符集大小为 $m$ 的字符串,每个前缀的最短循环节长度乘积 的总和. $n\le 12,m\le 10^9$ 题解 DFS+KMP 对 ...

  7. 牛客网小白月赛6C(DFS,思维)

    #include<bits/stdc++.h>using namespace std;vector<int>tree[1000010];int sum=0;int dfs(in ...

  8. 牛客小白月赛4 C 病菌感染 dfs

    链接:https://www.nowcoder.com/acm/contest/134/C来源:牛客网 题目描述 铁子和顺溜上生物课的时候不小心将几滴超级病菌滴到了培养皿上,这可急坏了他们. 培养皿可 ...

  9. 牛客小白月赛6 C 桃花 dfs 求树上最长直径

    链接:https://www.nowcoder.com/acm/contest/136/C来源:牛客网 题目描述 桃花一簇开无主,可爱深红映浅红.                            ...

随机推荐

  1. android之电话拨号器

    在android入门的案例中,除了HelloWorld这个经典案例,还有一个电话拨号器需要掌握,现在我就来个电话拨号器的示范,毕竟大牛也是从菜鸟进化而来的. 首先你应该知道自己要设置怎样的UI,然后创 ...

  2. Wow! Such Sequence!(线段树4893)

    Wow! Such Sequence! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...

  3. sqlite创建表

    create table bike (id ) primary key, password ));

  4. Python学习笔记(2)

    变量 变量名就像我们现实社会的名字,把一个值赋值给一个名字时,它会存储在存储中,称之为变量(Variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”. 而Python与 ...

  5. php的rss订阅

    一般来说我们很少自己造轮子,读取rss还是用git上的开源库吧 https://github.com/dg/rss-php 这个开源库不能读取博客园的rss订阅,新浪微博的格式显示有问题. 博客园的订 ...

  6. centos7 禁止防火墙

    #CentOS .0默认使用的是firewall作为防火墙,这里改为iptables防火墙. #firewall: systemctl start firewalld.service#启动firewa ...

  7. Spring中@Async注解实现“方法”的异步调用

    原文:http://www.cnblogs.com/zhengbin/p/6104502.html 简单介绍: Spring为任务调度与异步方法执行提供了注解支持.通过在方法上设置@Async注解,可 ...

  8. nginx反向代理实现跨域请求

    nginx反向代理实现跨域请求 跨域请求可以通过JSONP实现,缺点是需要修改被请求的服务器端代码进行配合,稍显麻烦通过在自己服务器上配置nginx的反向代理,可以轻松实现跨域请求 思路 示例服务器A ...

  9. Design pattern---观察者模式

    观察者模式:发布/订阅模式,当某对象(被观察者)状态发生改变时所有订阅该对象的观察者对象(观察者)都将更新自己 成员(4种): 1.抽象被观察者:将所有的观察者对象的引用存入一个集合,并且定义了添加 ...

  10. Shell 教程

    Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操 ...