Posted on 2008-12-15 21:23
Hero 阅读(116)
评论(0) 编辑 收藏 引用 所属分类:
代码如诗--ACM
1 // 1280 C++ Accepted 0.046 921 KB URAL
2
3 //反序--直接判断
4
5 #include <iostream>
6
7 using namespace std ;
8
9 int hash[1100] ;
10
11 int a[100100] ;
12 int b[100100] ;
13
14 int inn, inm ;
15 int ina, inb ;
16
17 int main()
18 {
19 while( scanf( "%d %d", &inn, &inm ) != EOF )
20 {
21 for( int i=1; i<=inm; i++ ) scanf( "%d %d", &a[i], &b[i] ) ;
22
23 for( int i=1; i<=inn; i++ )
24 {
25 scanf( "%d", &ina ) ;
26 hash[ina] = i ;
27 }
28
29 bool out = true ;
30 for( int i=1; i<=inm; i++ )
31 {
32 if( false == out ) break ;
33 if( hash[a[i]] > hash[b[i]] ) out = false ;
34 }
35
36 if( out ) printf( "YES\n" ) ;
37 else printf( "NO\n" ) ;
38 }
39
40 return 0 ;
41 }