Skip to content

Commit 114ba42

Browse files
authored
Merge pull request #62 from kv83821/patch-1
Create AKBAR.cpp
2 parents 73d890a + 56f1411 commit 114ba42

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

c++/AKBAR.cpp

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
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+
}

0 commit comments

Comments
 (0)