Acm题目,求大神给代码

大神帮做一下。。
Description
在古堡中有N个房间(N<50000),M条道路,每条道路上均有一个守卫,它可以被一个特定编号的武器消灭,每个房间中也存在一种武器,第i个房间中的武器编号为i,道路在守卫消灭之后方可通行,GX一开始在J房间,他想知道哪些房间经过获得武器并打败守卫的过程,是最终可以去的。

Input
第一行是N,J,M

接下来M行,每行三个数A,B,C,分别代表A房间和B房间之间有一条路,且此处守卫可以被编号为C的武器消灭。
Output
输出N行,如果i号房间可以到达,则在第i行输出Yes,否则输出No。

Sample Input
6 4 6
1 2 1
1 3 2
2 4 4
3 4 4
3 5 3
5 6 6
Sample Output
1:Yes
2:Yes
3:Yes
4:Yes
5:Yes
6:No

2个回答

其实你的问题最终都是一个问题。这么来说,有N个房间,有M条路,开始的时候你的J房间,那么你肯定有J编号的武器,这个时候你所能走的路只有
编号为J的守卫防守的那一条路L,其他的路你都走不了。通过L这条路你能获得哪个或那些编号的武器你就能继续走对应这些武器编号守卫的路,再次迭代。
函数流程,输入可进入房间号,获取对应的武器,消灭对应的守卫,进入对应的房间,获取对应的武器,直至你无法获取任何武器为止,结果就出来了

深搜,加了是否能通条件

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问