问题 C: 世界那么大,我想去看看
题目描述
河南省实验中学的一名教师T的一封辞职信引发热评,辞职的理由仅有10个字:“世界那么大,我想去看看”。网友评这是“史上最具情怀的辞职信,没有之一”。经采访得知,作者为2004年7月入职河南省实验中学的一名女心理教师,已经任职11年之久。如此任性的辞职信,领导最后还真批准了。
现在假设世界上有n个城市(用1~n标识 ),有m个高铁线路ei 格式为 xi yi ; T的开始城市 f, 结束城市 e,她希望把所有的道路 都不重复的访问一遍,如果可以做到就输出YES 否则输出 NO
输入
城市数n和铁路m
开始城市 f 和目的城市e
每条铁路的起止城市 xi yi
输出
如果可以从开始城市 f,结束城市 e ,并把所有路径都不重复的访问一遍,就输出YES 否则输出NO
样例输入
3 2 1 3 1 2 2 3
样例输出
YES
提示
路线没有方向性,但是两个城市之间可能有多个线路 数据保证图一定是联通的
import java.util.*; public class Main {static int n;static int m;static Set<Integer> set1;static Scanner cin=new Scanner(System.in);public static void main(String[] args) {n=cin.nextInt();m=cin.nextInt();int f=cin.nextInt();int e=cin.nextInt();Graph G=new Graph();List<Integer> list1=new LinkedList<>();List<Integer> list2=new LinkedList<>();Paths search=new Paths(G,f);if (search.hasPathTo(e)) {for (int x : search.pathTo(e)) {list1.add(x);}}Collections.sort(list1);for(int i:set1){list2.add(i);}if(list1.equals(list2)){System.out.println("YES");}else{System.out.println("NO");}cin.close();}private static class Graph {static int V;int E;static LinkedList<Integer>[] adj;public Graph() {this.V=n;this.E=m;adj=new LinkedList[V+1];for(int v=1;v<V+1;v++){adj[v]=new LinkedList<>();}set1=new HashSet<>();for(int i=0;i<E;i++){int v=cin.nextInt();int w=cin.nextInt();set1.add(v);set1.add(w);addEdge(v,w);}}private void addEdge(int v, int w) {adj[v].add(w);adj[w].add(v);}public Iterable<Integer> adj(int v){return adj[v];}public int V(){return V;}}private static class Paths {private boolean[] marked;private int[] edgeto;private final int s;public Paths(Graph G, int f) {marked=new boolean[G.V()+1];edgeto=new int[G.V()+1];this.s = f;dfs(G,s);}private void dfs(Graph G, int v) {marked[v]=true;for(int w:G.adj(v)){if(!marked[w]){edgeto[w]=v;dfs(G,w);}}}public boolean hasPathTo(int v){return marked[v];}public Iterable<Integer> pathTo(int v){if(!hasPathTo(v)) return null;Stack<Integer> path=new Stack<>();for(int x=v;x!=s;x=edgeto[x])path.push(x);path.push(s);return path;}} }
问题 C: 世界那么大,我想去看看相关推荐
- 别说了,世界那么大我想去看看!(最短路径-迪杰斯特拉算法弗洛伊德算法)
前言: 一直想去外面的世界看看,中国城市那么多,那么美,怎么样才可以用最少的钱,最短的时间游遍我想去的城市呢?(我在做梦?不不不!迪杰斯特拉算法和弗洛伊德算法来了) 这两个算法有着广泛的用途 ...
- 3年前离职,写下“世界那么大,我想去看看”的女教师,现在怎么样了?
"世界那么大我想去看看" 那封红极一时的辞职信 想必大家都还记得吧 2015年4月13日 河南实验中学教师顾少强 留下一封辞职信 转身离开那座生活了将近35年的城市 寥寥10字主体 ...
- 世界那么大,我想去看看
题目描述 河南省实验中学的一名教师T的一封辞职信引发热评,辞职的理由仅有10个字:"世界那么大,我想去看看".网友评这是"史上最具情怀的辞职信,没有之一".经采 ...
- “世界那么大,我想去看看” ——10款精美的旅游网站设计欣赏
不知大家是否还记得那个最具情怀的辞职信"世界那么大,我想去看看".我想我们现在都还没有这个勇气辞职,背起行囊来一场说走就走的旅行. 说起旅行,就想起去年在某著名旅行网站上的体验.网 ...
- python世界那么大_世界这么大,Python 也想去看看
把时间线拉回到 2015 年 4 月 13 日,一位河南省实验中学的心里老师在辞职信上写下了「世界那么大,我想去看看」这句话,后来爆红网络,我想这位心里老师当时写这句话的时候肯定没想到这句只有十个字的 ...
- 世界那么大,我想去看看!
最近一个老师的辞职信火了,嘿嘿,字写的好漂亮,自愧不如啊.辞职理由写的更是文艺,很是喜欢,特拿过来记录一下. 这几天身体状况很不好,现在考虑要不要去跑步呢.哎,也怪自己的自制力太差了,总是ziwei, ...
- 世界那么大,谁不想去看看
????室友:Yura,这周我双休,要不要去哪里玩儿? ????我:杭州都玩遍啦,去别的城市看看? ????室友:好哇-我想去莫干山,或者绍兴名人故居,西塘乌镇也不错-哦!好想去南京吃鸭血粉丝汤!如果 ...
- 从热门话题世界这么大我想去看看想到的:年轻人该如何改变这个世界 无力感越来越强,最后却成为了力量...
从热门话题世界这么大我想去看看想到的:年轻人该如何改变这个世界 [一] 古人留给我们一些所谓的人生哲理,比如"沉默是金"."难得糊涂"等,实际上有问题.之所以要 ...
- 人气最高的11座考研城市,你想去的城市排第几?
考研,不仅是学历上的提升 还有一个很重要的原因就是 世界那么大,我想去看看 那么有没有一座城市让你心生向往 你会因为这座城市而去读研 或者是因为学校爱上一座城 今天,小编给大家盘点 人气最高.最适合读 ...
最新文章
- Java Web Application 自架构 四 Log4j2日志管理
- NopCommerce架构分析之八------多语言
- 由熊猫烧香引发的思考
- mysql-演练0722
- iOS-使用代码约束布局(Masonry)
- Skin++ 使用教程(VC软件外观美化工具)
- [转] 关于MSCOMM控件的一些说明
- 【转】Eclipse,MyEclipse快捷键及字体设置
- 拓端tecdat|R语言用FNN-LSTM假近邻长短期记忆人工神经网络模型进行时间序列深度学习预测4个案例
- Sublime Text3 安装svn插件遇到的问题
- rbw数字信号处理_基于FPGA的数字中频信号处理的设计与实现
- 在线PDF保护解除器,完全免费,没有文件数量限制 - PDF在线解锁器
- 李宇春-唐人街无损品质mp3-flac音乐歌曲网盘免费下载
- 运用极域电子教室控制其他学生端(不需要教师端)
- FlyBanner轮播图 和 XBanner轮播图
- GPS测试 QXDM测到的卫星的CN0与看到的CN0不一致
- Vant-area数据
- 阿里云上各种Rpm包下载地址
- 关于matlab中矩阵取值的方法
- 编译运行Clipper报错以及解决