1155. Can I Post the lette
Constraints
Time Limit: 1 secs, Memory Limit: 32 MB
Description
I am a traveler. I want to post a letter to Merlin. But because there are so many roads I can walk through, and maybe I can’t go to Merlin’s house following these roads, I must judge whether I can post the letter to Merlin before starting my travel.
Suppose the cities are numbered from 0 to N-1, I am at city 0, and Merlin is at city N-1. And there are M roads I can walk through, each of which connects two cities. Please note that each road is direct, i.e. a road from A to B does not indicate a road from B to A.
Please help me to find out whether I could go to Merlin’s house or not.
Input
There are multiple input cases. For one case, first are two lines of two integers N and M, (N<=200, M<=N*N/2), that means the number of citys and the number of roads. And Merlin stands at city N-1. After that, there are M lines. Each line contains two integers i and j, what means that there is a road from city i to city j.
The input is terminated by N=0.
Output
For each test case, if I can post the letter print “I can post the letter” in one line, otherwise print “I can't post the letter”.
Sample Input
3 2 0 1 1 2 3 1 0 1 0
Sample Output
I can post the letter I can't post the letter
Problem Source
ZSUACM Team Member
题目分析:一次搜索,拓扑即可完成。
参考代码:
#include <iostream> #include <queue> #include <cstring> using namespace std; struct R { int beg; int end; }; int main() { int n, m; bool vis[200]; while (1) { memset(vis, false, sizeof(vis)); cin >> n; if (n == 0) break; cin >> m; R road[m]; for (int i = 0; i < m; ++ i) { cin >> road[i].beg >> road[i].end; } vis[0] = true; queue<int> q; q.push(0); while (!q.empty() && !vis[n - 1]) { int temp = q.front(); for (int i = 0; i < m; ++ i) { if (temp == road[i].beg) { int tem = road[i].end; if (!vis[tem]) { q.push(tem); vis[tem] = true; } } } q.pop(); } if (vis[n - 1]) { cout << "I can post the letter" << endl; } else { cout << "I can't post the letter" << endl; } } }
相关推荐
sicily 1562_LVM.cpp参考代码
【标题】"sicily1294.rar_1294_sicily" 提供的信息表明,这可能是一个与中山大学ACM竞赛相关的代码压缩包,其中包含了对问题1294 "Sicily"的解决方案。在ACM(国际大学生程序设计竞赛,International Collegiate ...
"CPP-for-sicily.zip_sicily"这个压缩包,显然是为了解决与"Sicily"相关的编程问题而准备的资源,它包含了一份名为"C++ for sicily.doc"的文档,这很可能是针对Sicily地区或某个特定的Sicily项目的一份C++解题模板...
3. **缓冲区管理**:在I/O操作中,队列可以作为缓冲区,暂时存储输入或输出数据,避免频繁的读写操作,提高系统性能。 4. **错误恢复**:如果系统出现故障,队列可以帮助记录操作历史,便于在恢复后继续执行未完成...
在“sicily_source.zip_sicily”这个压缩包文件中,我们主要关注的是与西西里相关的编程练习,这些练习涵盖了输入输出操作和标准程序设计,同时也涉及到超高精度浮点数的输出问题以及关联数组这一数据结构。...
【标题】"sicily-1274.rar_sicily" 指向的是一个名为 "sicily-1274" 的RAR压缩文件,它包含的可能是一个关于 "sicily" 项目的源代码。RAR是一种流行的压缩格式,用于打包多个文件或文件夹到一个单一的、易于管理的...
sicily-code.rar_1137_sicily 是一个压缩包文件,包含了中山大学某个项目或课程相关的代码。从描述中我们可以推断,这个项目或课程可能与 sicily 相关,而数字序列1137可能是课程编号、版本号或者是项目的特定标识。...
【 sicily-code--2.rar_sicily 知识点详解】 这个压缩包“sicily-code--2.rar_sicily”包含的是中山大学 sicily 项目的一系列参考代码,旨在帮助学习者理解和掌握 sicily 项目的具体实现。在这个压缩包中,我们可以...
【标题】"sicily-code--3.rar_sicily" 提供的是中山大学sicily课程相关的编程参考资料,这可能是一门涵盖计算机科学与信息技术的课程,其中涉及到的代码可能是用于教学或者项目实践。从描述来看,这个压缩包包含了...
sicily-online-judge.zip_sicily 是一个与 Sicily 在线评判系统相关的压缩包,包含了一些编程题目和相应的解决方案。这些题目涵盖了不同的算法和数据结构主题,如线性表、最小生成树以及中缀转后缀表达式计算。以下...
【标题】"sicily-code--5.rar_sicily" 暗示了这是一个与 sicily 相关的代码项目,可能包含的是一个软件或游戏的源代码,版本号可能是5。"rar" 是一种常见的文件压缩格式,意味着这些代码被打包在RAR文件里。 【描述...
【 sicily 部分题目源代码 】 涉及到的是 sicily 平台上的算法题目解法,这些源代码已经过测试,确保能够正确运行并得出预期结果。在算法领域,编写源代码是解决问题的关键步骤,尤其是在 sicily 这样的在线编程平台...
标题中的"soj.rar_1876_sicily 1022_sicily 1934_sicily soj IP" 提到了几个关键元素,这些元素指向了一个编程竞赛或者作业集中的多个问题。"soj"通常代表"Software Judge",这是一个用于在线编程竞赛或教育平台的...
通过对 sicily.doc 文件的深入研究,我们可以学习到实际编程中如何将理论知识应用于解决实际问题,同时也能提高我们的编程技巧和问题解决能力。无论是对初学者还是经验丰富的开发者,这样的资源都是宝贵的学习材料。
sicily AC代码指的是在编程竞赛或算法挑战中,参赛者提交并通过了评测系统的源代码集合。这个"112页的大礼包"很可能是一份综合性的编程资源,包含了多个不同的问题解决方案,涵盖了各种算法和数据结构的应用。从标签...
中大sicily online judge的刷题指南,里面介绍得很详细,不过,最近sicily好像不能外网访问了。
本cpp是sicily的1006的解题代码 这份代码以最简单的方式实现了它的功能要求 值得学习一番
文件中还提到了“sicily1211.商人的宣传”,这可能是指与图论相关的一个编程题目,需要利用矩阵的幂运算来解决问题。这部分内容在文件中没有详细展开,但基于标题,我们可以知道这是一个关于编程平台上机考试的资料...