题目链接:http://acm.timus.ru/problem.aspx?space=1&num=2013

题目理解:

给定n个点的有向图:

下面n行,第一个数字表示点权,后面一个数字m表示有m条边。

起点是1.

对于每个点,输出2个值表示前驱点权1和该点点权2。

1、就是若有多条路径且全为“同一个值”输出“同一个值”,否则输出unknown;

  若有一条路径若前驱节点的权值>0,输出前驱结点的权值,否则输出sober;

2、否则若该点点权>0输出该点点权,否则输出前驱点权值(若有多条路径且全为“同一个值”输出“同一个值”,否则输出unknown;

  若有一条路径若前驱节点的权值>0,输出前驱结点的权值,否则输出sober)

AC代码+详解

 /* */
# include <iostream>
# include <stdio.h>
# include <string.h>
# include <algorithm>
# include <bitset>
# include <ctime>
# include <cmath>
# include <list>
# include <cctype>
# include <cassert>
# include <iomanip>
# include <deque>
# include <queue>
# include <stack>
# include <set>
# include <map>
# include <vector>
using namespace std; const int inf=0x3f3f3f3f;
const int maxn=2e5+;
int a[maxn];
int zt[maxn];
vector<int>ve[maxn]; void dfs(int x, int y)///x此结点,y前驱结点的权值
{
if( zt[x]==- )///有两个前驱,(既然已经判断出有两个前驱,且此路之前来过,就没必要再往下遍历了)
return ; if( !zt[x] )///还没有访问过
zt[x] = y;///记录其前驱节点的权值
else///已经访问过之后又来访问说明有两个前驱结点了,标记一下
zt[x] = -; if( a[x] )///此结点的权值不为0
y=a[x]; for( auto it:ve[x] )
{
if( zt[it]!=y )///之前的前驱结点的值不为现在前驱结点的值,
///若zt[it]原来为0,说明没有遍历过
///若zt[it]原来为-1,或者是一个正整数
///但之前前驱结点的值与此时前驱节点的值不一样
///那么就再进行一次遍历
///至于具体是什么情况,for有前面的判断决定
{
dfs(it, y);
}
} } int main()
{
memset(zt, , sizeof(zt));
int n;
cin>>n;
for(int i=; i<=n; i++ )
{
cin>>a[i];
int x;
cin>>x;
for(int j=; j<=x; j++ )
{
int y;
cin>>y;
ve[i].push_back(y);
}
}
dfs(, -); for(int i=; i<=n; i++ )
{
if( zt[i]==- )
cout<<"sober "; else if( zt[i]==- )
cout<<"unknown "; else
cout<<zt[i]<<' '; if( a[i]> )
cout<<a[i]<<endl; else
{
if( zt[i]==- )
cout<<"sober"<<endl; else if( zt[i]==- )
cout<<"unknown"<<endl; else
cout<<zt[i]<<endl;
}
}
return ;
}

Neither shaken nor stirred(DFS理解+vector存图)的更多相关文章

  1. POJ 1655.Balancing Act-树的重心(DFS) 模板(vector存图)

    Balancing Act Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 17497   Accepted: 7398 De ...

  2. Codeforce-1106-D. Lunar New Year and a Wander(DFS遍历+vector存图+set)

    Lunar New Year is approaching, and Bob decides to take a wander in a nearby park. The park can be re ...

  3. B - Cow Marathon DFS+vector存图

    After hearing about the epidemic of obesity in the USA, Farmer John wants his cows to get more exerc ...

  4. 【模板】Vector存图 + SPFA

    最近愉快地决定要由边集数组转向Vector存图,顺便开始图论集训 老惯例,以题写模板 P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texa ...

  5. POJ 1985.Cow Marathon-树的直径-树的直径模板(BFS、DFS(vector存图)、DFS(前向星存图))

    Cow Marathon Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 7536   Accepted: 3559 Case ...

  6. How far away(DFS+vector存图)

    There are n houses in the village and some bidirectional roads connecting them. Every day peole alwa ...

  7. 存图方式---邻接表&邻接矩阵&前向星

    基于vector存图 struct Edge { int u, v, w; Edge(){} Edge(int u, int v, int w):u(u), v(v), w(w){} }; vecto ...

  8. Safe Path(bfs+一维数组存图)

    题目链接:http://codeforces.com/gym/101755/problem/H 题目分析:先bfs一遍怪兽可以到达的点,再bfs人可以走的地方看可不可以到达终点: 很显然读到  2&l ...

  9. 图论算法(一)存图与STL第六弹——vector容器

    图论算法(一)存图 我发现我的博客阅读量贼低,问小伙伴们,ta们都说这些博客太长了QAQ! 今天来个短亿点的(也短不了多少……) 进入正题,图论究竟是什么? 图论就是给你一张图,让你在这张图上进行各种 ...

随机推荐

  1. 上传自己的 NuGet 包

    参考:https://blog.csdn.net/gulijiang2008/article/details/41724927 STEP 1:在NuGet上注册并获取API Key STEP 2:下载 ...

  2. c# 基于RTMP推流 PC+移动端 拉流播放

    网上关于直播相关的文章很多,但是讲解还是不够系统,对于刚刚接触直播开发的朋友实施起来会浪费不少时间.下面结合我自己的经验, 介绍一下直播方面的实战经验. 分成两个部分 第一部分是标题中介绍的基于RTM ...

  3. IIS配置文件的XML格式不正确 applicationHost.config崩溃

    错误提示如图: 检查C:\Windows\System32\inetsrv\config目录下的applicationHost.config文件,备份一份. 可使用IIS提供的AppCmd.exe的r ...

  4. 【洛谷 P2408】 不同子串个数(后缀自动机)

    题目链接 裸体就是身体. 建出\(SAM\),\(DAG\)上跑\(DP\),\(f[u]=1+\sum_{(u,v)\in DAG}f[v]\) 答案为\(f[1]-1\)(因为根节点没有字符) # ...

  5. 【转载】ASP.NET网站选购阿里云服务器的时候,阿里云账号个人认证以及企业认证有何不同

    在采购阿里云产品,如阿里云云服务器.阿里云短信包.阿里云数据库MySql以及Sqlserver.阿里云对象存储OSS等云产品的时候,如果账号未进行实名认证,很多时候会要求实名认证操作,在实名认证时可选 ...

  6. JavaScript前端图片压缩

    实现思路 获取input的file 使用fileReader() 将图片转为base64 使用canvas读取base64 并降低分辨率 把canvas数据转成blob对象 把blob对象转file对 ...

  7. 阅读笔记---第三章 Xen信息页

    1.文件/xen/include/public/xen.h 2.第一个数据结构:启动信息页strat_info,启动信息页是GuestOS内核启动时,由Xen映射到GusetOS内存空间的一个物理页面 ...

  8. TP5配置隐藏入口index.php文件,Apache/phpstudy

    一,找到/public/.htaccess文件,如果你的入口文件已经移动到根目录下,那么你的.htaccess文件也要剪切到根目录下,总之要确保.htaccess跟入口的index.php保持同级. ...

  9. Java经典逻辑编程50题 (转)

    注: 转自https://blog.csdn.net/Alias_fa/article/details/52985112  (摘了题目部分和部分分析,想看原作代码的见原作链接) [程序1] 題目:古典 ...

  10. HBase集群环境搭建v1.0

    本文档环境基于ubuntu14.04版本,如果最终不使用SuperMap iServer 9D ,可以不配置geomesa-hbase_2.11-2.0.1-bin.tar.gz (转发请注明出处:h ...