File tree Expand file tree Collapse file tree 1 file changed +95
-0
lines changed Expand file tree Collapse file tree 1 file changed +95
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ #include < bits/stdc++.h>
3
+ using namespace std ;
4
+
5
+ int main ()
6
+ {
7
+ long long t;
8
+ cin>>t;
9
+ while (t--)
10
+ {
11
+ long long n,r,m;
12
+ cin>>n>>r>>m;
13
+ long long a,b;
14
+ vector<vector<long long > > v (n+1 );
15
+ long long i;
16
+ for (i=0 ;i<r;i++)
17
+ {
18
+ cin>>a>>b;
19
+ v[a].push_back (b);
20
+ v[b].push_back (a);
21
+ }
22
+ long long k,src;
23
+ bool opt=true ;
24
+ vector<bool > vis (n+1 ,false );
25
+ // vector<long long> par(n+1,-1);
26
+ vector<long long > dist (n+1 ,0 );
27
+ vector<pair<long long ,long long > > route;
28
+ for (i=0 ;i<m;i++)
29
+ {
30
+ cin>>src>>k;
31
+ route.push_back (make_pair (src,k));
32
+ }
33
+ long long dis;
34
+ for (i=0 ;i<m;i++)
35
+ {
36
+ pair<long long ,long long > tmp=route[i];
37
+ src=tmp.first ;
38
+ k=tmp.second ;
39
+ queue<long long > q;
40
+ vector<bool > visited (n+1 ,false );
41
+ if (vis[src]==true )
42
+ {
43
+ opt=false ;
44
+ break ;
45
+ }
46
+ else
47
+ {
48
+ visited[src]=true ;
49
+ dist[src]=0 ;
50
+ q.push (src);
51
+ // s.insert(src);
52
+ dis=dist[src];
53
+ while (!q.empty ())
54
+ {
55
+ src=q.front ();
56
+ dis=dist[src]+1 ;
57
+ q.pop ();
58
+ vector<long long > ::iterator ir;
59
+ if (vis[src]==false )
60
+ {
61
+ if (dis<=k)
62
+ {
63
+ for (ir=v[src].begin ();ir!=v[src].end ();ir++)
64
+ {
65
+ if (visited[*ir]==false )
66
+ {
67
+ visited[*ir]=true ;
68
+ // s.insert(*ir);
69
+ dist[*ir]=dis;
70
+ // par[*ir]=src;
71
+ q.push (*ir);
72
+ }
73
+ }
74
+ }
75
+ }
76
+ else
77
+ {
78
+ opt=false ;
79
+ }
80
+ vis[src]=true ;
81
+ if (opt==false )
82
+ break ;
83
+ }
84
+ }
85
+ if (opt==false )
86
+ break ;
87
+ }
88
+ for (i=1 ;i<=n;i++)
89
+ if (vis[i]==false )
90
+ opt=false ;
91
+ if (opt==true )
92
+ cout<<" Yes" <<endl;
93
+ else cout<<" No" <<endl;
94
+ }
95
+ }
You can’t perform that action at this time.
0 commit comments