先埋锅-CF-Valid BFS?-差一点没交上
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define INF 1e9+7
using namespace std;
const int MAXN = ;
const int MAXM = ;
int n,m;
int s[MAXN];
struct EDGE
{
int v,next,w;
}edge[MAXN];
int head[MAXN],e;
int q[MAXN],vis[MAXN],d[MAXN];
void init()
{
e=;
memset(head,-,sizeof(head));
}
void add(int u,int v)//链式前向星部分
{
edge[e].v=v;
edge[e].next=head[u];//下一条边
head[u]=e++;//u为节点边的头节点
}
void bfs(int src)
{
for(int i=;i<=n;i++)vis[i]=;
int h=,t=;
vis[src]=;
int u=q[h++];
for (int i=head[u];i!=-;i=edge[i].next)
{
int v = edge[i].v;
int w = edge[i].w;
s[v]=s[u]++;
if (!vis[v])
{
vis[v]=;
}
}
}
int main(){
int n;
int x,y;
while(~scanf("%d",&n)){
memset(s,,sizeof(s));
for (int i=;i<=n;i++){
scanf("%d%d",&x,&y);
add(x,y);
}
bfs();
s[]=;
int ss=;
int flag=;
for (int i=;<=n;i++){
scanf("%d",&ss);
if (s[ss]!=i){flag=;
break;
}
}
if (flag==){
printf("Yes\n");
}else{
printf("No\n");
}
}
return ;
}
先埋锅-CF-Valid BFS?-差一点没交上的更多相关文章
- CF 1037 D. Valid BFS?
D. Valid BFS? http://codeforces.com/contest/1037/problem/D 题意: 给一个序列,一棵树,判断能否bfs这棵树,得到这个序列. 分析: 将每个点 ...
- CF1037D Valid BFS?
Valid BFS? CodeForces - 1037D The BFS algorithm is defined as follows. Consider an undirected graph ...
- 谁还没遇上过NoClassDefFoundError咋地——浅谈字节码生成与热部署
谁还没遇上过NoClassDefFoundError咋地--浅谈字节码生成与热部署 前言 在Java程序员的世界里,NoClassDefFoundError是一类相当令人厌恶的错误,因为这类错误通常非 ...
- YOLOv4没交棒,但YOLOv5来了!
YOLOv4没交棒,但YOLOv5来了! 前言 4月24日,YOLOv4来了! 5月30日,"YOLOv5"来了! 这里的 "YOLOv5" 是带有引号的,因为 ...
- Codeforces | CF1037D 【Valid BFS?】
题目大意:给定一个\(n(1\leq n\leq 2\cdot10^5)\)个节点的树的\(n-1\)条边和这棵树的一个\(BFS\)序\(a_1,a_2,\dots,a_n\),判断这个\(BFS\ ...
- Valid BFS? CodeForces - 1037D(思维 bfs)
我真是一只菜狗......emm... 题意: 判断一个从1开始的队列是否可以按照bfs的顺序 进行遍历..必须从1开始...然后后边依次是bfs顺序 解析: 看代码能看懂吧...emm...就是把每 ...
- cf1037D. Valid BFS?(BFS?)
题意 题目链接 Sol 非常妙的一道题.. 可以这样想,在BFS序中较早出现的一定是先访问的,所以把每个点连出去的边按出现的前后顺序排个序 看一下按顺序遍历出来的序列与给出的是否相同就行了 #incl ...
- [Codeforces 1037D] Valid BFS?
[题目链接] http://codeforces.com/problemset/problem/1037/D [算法] 首先求出每个点的父节点 , 每棵子树的大小 然后判断BFS序是否合法即可 时间复 ...
- 【Codeforces 1037D】Valid BFS?
[链接] 我是链接,点我呀:) [题意] 让你判断一个序列是否可能为一个bfs的序列 [题解] 先dfs出来每一层有多少个点,以及每个点是属于哪一层的. 每一层的bfs如果有先后顺序的话,下一层的节点 ...
随机推荐
- 4.92Python数据类型之(7)字典
目录 目录 前言 (一)字典的基本知识 ==1.字典的基本格式== (二)字典的操作 ==1.字典元素的增加== ==2.字典值的查找== ==3.字典的修改== ==4.字典的删除== ==5.字典 ...
- ES5数组的遍历方式
/* 遍历数组 */ var arr=[1,2,3,43,55,66,77,99]; /* 遍历数组 function(item,index) */ arr.forEach(function(item ...
- 个人技术博客(a)
- Java中BufferedReader到底是一个什么类?
1.java.io.BufferedReader 和 java.io.BufferedWriter 类各拥有8192字符的缓冲区.当BufferedReader在读取文本文件时,会先尽量从文件中读入字 ...
- ArcEngine中加载ArcGIS Server地图服务
代码如下: private void addMapServerLayer(object sender, EventArgs e) { IActiveView pActiveV ...
- 洛谷P1621-集合
Problem 洛谷P1621-集合 Accept:496 Submit: 1.4k Time Limit: 1000 mSec Memory Limit : 128MB Problem De ...
- Arduino IDE for ESP8266 项目(4)HTTP客户端+服务端
Arduio for esp8266 官网API:http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html 很有 ...
- ARDUINO 中断
设置中断函数 attachInterrupt() attachInterrupt(interrupt, function, mode) 描述: 当发生外部中断时,调用一个指定函数.当中断发生时,该 ...
- Qt 编程指南 9 软件打包
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑 里无法正常运行.因此 Qt 官方开发环境里自带了一 ...
- QT插件+ROS 2 新建项目
一QT插件开发ROS,http://www.ncnynl.com/archives/201701/1277.html 二QT开发遇到问题http://blog.csdn.net/u013453604/ ...