4 / 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

  • 509

    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.

Suggested Topics

Want to read more? Browse other topics in Online Judge System or view latest topics.