1 / 4
Aug 2021

#include<bits/stdc++.h>
#define int long long
#define vi vector
#define pb push_back
#define inf INT_MAX
#define minf INT_MIN
#define mod 1000000007
#define fio ios_base::sync_with_stdio(NULL) ; cin.tie(NULL) ;
using namespace std ;
vectorarr[100001] ;
int vis[100001] ;
bool bfs(int a,int s,int par)
{
vis[a]=1 ;
queuecont ;
if(s<0)
{
return false ;
}
cont.push(a) ;
int has[100001]={0} ;
has[a]=1;
while(!cont.empty()&&s)
{
int temp=cont.front() ;
cont.pop();
par=temp ;

    for(auto i:arr[temp])
    {

        if(!vis[i])
        {
            vis[i]=1 ;
            cont.push(i) ;
            has[i]=1 ;
        }
        else if(!has[i])
        {
            return false;
        }
    }

    s-- ;
}
return true ;

}
signed main()
{
int t;
cin>>t;
while(t–)
{ memset(vis,0,sizeof(vis)) ;

int n,r,m ;
cin>>n>>r>>m  ;
for(int i=1;i<=n;i++)
{
    arr[i].clear();
}
for(int i=0;i<r;i++)
{
    int a,b ;
    cin>>a>>b ;
    arr[a].pb(b) ;
    arr[b].pb(a) ;

}
int flag=0 ;
for(int i=0;i<m;i++)
{
    int a,b ;
    cin>>a>>b ;
    if(!vis[a])
    {   bool k=bfs(a,b,-1) ;
            if(!k)
           {
               flag=1 ;

           }


    }
    else
    {
        flag=1 ;

    }

}
if(flag)
{
    cout<<"No\n" ;
}
else
    cout<<"Yes\n" ;

}
return 0 ;
}

  • created

    Aug '21
  • last reply

    Aug '21
  • 3

    replies

  • 507

    views

  • 2

    users

  • 1

    link

thank you @simes ive done changes but still WA .
#include<bits/stdc++.h>
#define int long long
#define vi vector
#define pb push_back
#define inf INT_MAX
#define minf INT_MIN
#define mod 1000000007
#define fio ios_base::sync_with_stdio(NULL) ; cin.tie(NULL) ;
using namespace std ;
vectorarr[100001] ;
int vis[100001] ;
bool bfs(int a,int s,int par)
{
vis[a]=1 ;
queuecont ;
if(s<0)
{
return false ;
}
cont.push(a) ;
int has[100001]={0} ;
has[a]=1;
while(!cont.empty()&&s)
{
int temp=cont.front() ;
cont.pop();
par=temp ;

    for(auto i:arr[temp])
    {

        if(!vis[i])
        {
            vis[i]=1 ;
            cont.push(i) ;
            has[i]=1 ;
        }
        else if(!has[i])
        {
            return false;
        }
    }

    s-- ;
}
return true ;

}
signed main()
{
int t;
cin>>t;
while(t–)
{ memset(vis,0,sizeof(vis)) ;

int n,r,m ;
cin>>n>>r>>m  ;
for(int i=1;i<=n;i++)
{
    arr[i].clear();
}
for(int i=0;i<r;i++)
{
    int a,b ;
    cin>>a>>b ;
    arr[a].pb(b) ;
    arr[b].pb(a) ;

}
int flag=0 ;
for(int i=0;i<m;i++)
{
    int a,b ;
    cin>>a>>b ;
    if(!vis[a])
    {   bool k=bfs(a,b,-1) ;
            if(!k)
           {
               flag=1 ;

           }


    }
    else
    {
        flag=1 ;

    }

}
if(flag)
{
    cout<<"No\n" ;
}
else
    {for(int i=1;i<=n;i++)
    {
        if(vis[i]==0)
        {
            flag=1 ;
            break ;
        }
    }
    if(flag)
        cout<<"No\n" ;
    else
        cout<<"Yes\n" ;}

}
return 0 ;
}

Try this then.

7 6 1
2 3
1 2
1 5
7 1
4 1
6 4
1 2

If you post any more code, please put three back-ticks ``` on a line by themselves both before and after the code. This will stop the code being interpreted as smart formatting.