题意:
给定n个站点连接的情况,最终询问能否从某个站点到达某个站点

解析:
用getline(cin,s) 把整个串读进来
然后用stringstream流 把字符串分解一下
然后把字符串数字化。
然后跑一遍dfs
如果能跑到终点我们直接输出路径。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10000;
int n;
vector<int> G[N],r;
int cnt;
string a,b,s;
map<string,int> v;
map<int ,string > res;
int e;
int ans[N];
int dist[N], q[N];      // dist表示每个点到起点的距离, q 是队列  // 邻接表
bool st[N];     // 存储每个点是否在队列中
int pre[N];
void dfs(int u,int fa)
{st[u]=1;r.push_back(u);if(u==e){for(auto j :r) cout<<res[j]<<" ";cout<<endl;exit(0); }for(auto j: G[u]){if(!st[j]&&j!=fa){dfs(j,u);}}r.pop_back();
}
int main()
{scanf("%d",&n);getchar();for(int i=1;i<=n;i++){getline(cin,s);stringstream ss(s);ss>>a;if(!v[a]){v[a]=++cnt;res[cnt]=a;}while(ss>>b){if(!v[b]){v[b]=++cnt;res[cnt]=b;}G[v[a]].push_back(v[b]);G[v[b]].push_back(v[a]);}}int t;cin>>a>>b;if(!v[a]){v[a]=++cnt;res[cnt]=a;} if(!v[b]){v[b]=++cnt;res[cnt]=b;}int  s=v[a];e=v[b];dfs(s,s);cout<<"no route found"<<endl;}

Torn To Pieces-------------------------------思维(dfs+stringstream流)相关推荐

  1. stringstream流分割字符串

    目录 stringstream流分割空格隔开的字符串 配合getline指定特定字符分割 stringstream流分割空格隔开的字符串 先看下C++流的总体框架 so beautiful demo ...

  2. 凡人修c传(四)翻牌子(POJ - 3279 - Fliptile)(思维+dfs)

    本萌新初来乍到,不知代码的险恶,曾看过一篇帖子,大佬说他一天就打了一题,十分崩溃,底下评论芸芸,另一位大佬说,没事,可能将来你一天看一个题解都未必能看懂. 当我打完这题时,我觉得大佬说的对...... ...

  3. Codeforces Round #548 (Div. 2) C. Edgy Trees(思维+dfs)

    题目链接:https://codeforces.com/contest/1139/problem/C        题意是给了一棵树,n个点,m条边.让从中选k个点,使得从a1到a2,a2到a3,ak ...

  4. Codeforces Round #801 (Div. 2) D2(思维/dfs)

    传送门 题意:给你一颗树,问最少取几点并且得知其与未知点x的距离可以确定树中任意x是哪个节点. 思考:观察可知,对于叶子节点,其兄弟节点到父节点所在的路径上都有点被取到时,不用取它也可以知道具体是哪个 ...

  5. AtCoder Beginner Contest 266 「A」「B 取模」「C 凸多边形」「D 状态机dp」「E 概率dp」「F 思维+dfs」

    A - Middle Letter 题目描述: 给你一个长度为奇数的字符串,输出最中间的字符 思路: 水题 #include <bits/stdc++.h> using namespace ...

  6. Hrbust 2302 Another Tree【思维+Dfs】

    Another Tree Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 46(17 users) Total Accepted: 17 ...

  7. Fzu 2207 以撒的结合【思维+Dfs序】好题!好题!

     Problem 2207 以撒的结合 Accept: 68    Submit: 219 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Prob ...

  8. 十面埋伏-------------------------------------思维(dfs)

    解析: 先给整个方格打上'x' 对于'#'四周的'x'使其变成'*' 剩下的'x'变成'.'就可以了 #include<bits/stdc++.h> using namespace std ...

  9. C. Infected Tree(思维/dfs/树形dp)

    题目 题意: 给定一颗树 ,根节点为2,每个结点的子节点数不超过2(也就是说这是一个二叉树).现在根节点被感染了,我们需要拯救这棵树. 有n次过程,每次过程如下: 我们可以选择砍掉一个非感染点,使得该 ...

最新文章

  1. ubuntu14.04如何在线安装eclipse以及C/C++开发组件,搭建软件开发平台
  2. hung-yi lee_p17_卷积神经网络
  3. post json 提示远程服务器500_解决WinServer2012R2服务器远程提示“参数错误”
  4. Pycharm设置pylint real-time scan实时扫描代码规范
  5. LeetCode-剑指 Offer 25. 合并两个排序的链表
  6. 07-11 Linux命令操作
  7. java三路快排,java二路快排很慢
  8. wxpython界面切换_wxpython中的图形用户界面
  9. 经典面试题(8):关于逻辑运算符,下面代码运行的结果是什么?
  10. 408数据结构:1.顺序表的定义
  11. flask html缓存,flask_cache如何缓存动态数据,如何调用缓存数据
  12. JanusGraph概述
  13. oracle学习笔记-转
  14. EXCEL单元格式(亿元,万元)
  15. Java的ASCII编码表
  16. matlab text函数
  17. 模仿微信朋友圈 图片浏览 js javascript 支持图片预览,滑动切换,双指缩放,图片缓存
  18. 高德地图定位及导航开发流程
  19. Tomcat 中 GET方式 请求 中文乱码 出现的原因
  20. openstack搭建教程

热门文章

  1. 3dmax界面语言更改
  2. 《Spark实战(第2版)》之【Spark 介绍(基于Spark 3.0)】
  3. 小图也有大作为:散点图在统计中的作用
  4. 纸上得来终觉浅、绝知此事要躬行
  5. 濮阳php培训,“学习时代楷模,成就出彩人生” 师德师风演讲稿
  6. AmazeUI 点击元素显示全屏
  7. 阿里云语音合成使用流程完全记录
  8. 蓝叠模拟器adb连接并配置网络代理
  9. jQuery如何判断是否拥有某属性以及添加移除(先判断有没有)某属性
  10. 【5G NR】CSI框架—报告配置