File tree Expand file tree Collapse file tree 1 file changed +56
-0
lines changed
Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.BufferedReader ;
3+ import java.io.InputStreamReader ;
4+ import java.util.* ;
5+
6+ public class Main {
7+
8+ public static void main (String [] args ) throws Exception {
9+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
10+ StringTokenizer st;
11+
12+ int n = Integer . parseInt(br. readLine());
13+ int m = Integer . parseInt(br. readLine());
14+
15+ int [][] map = new int [n][n];
16+
17+ for (int i = 0 ; i < n; i++ ) {
18+ st = new StringTokenizer (br. readLine());
19+ for (int j = 0 ; j < n; j++ ) {
20+ map[i][j] = Integer . parseInt(st. nextToken());
21+ if (i == j) {
22+ map[i][j] = 1 ;
23+ }
24+ }
25+ }
26+
27+ for (int k = 0 ; k < n; k++ ) {
28+ for (int i = 0 ; i < n; i++ ) {
29+ for (int j = 0 ; j < n; j++ ) {
30+ if (map[i][k] == 1 && map[k][j] == 1 )
31+ map[i][j] = 1 ;
32+ }
33+ }
34+ }
35+
36+ int [] route = new int [m];
37+ st = new StringTokenizer (br. readLine());
38+ for (int i = 0 ; i < m; i++ ) {
39+ route[i] = Integer . parseInt(st. nextToken());
40+ }
41+
42+ if (m == 1 ) {
43+ System . out. println(" YES" );
44+ return ;
45+ }
46+
47+ for (int i = 0 ; i < m - 1 ; i++ ) {
48+ if (map[route[i] - 1 ][route[i + 1 ] - 1 ] == 0 ) {
49+ System . out. println(" NO" );
50+ return ;
51+ }
52+ }
53+ System . out. println(" YES" );
54+ }
55+ }
56+ ```
You can’t perform that action at this time.
0 commit comments