Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define mp make_pair
- #define pb push_back
- #define fi first
- #define se second
- #define MOD 40000
- #define DOMOD(d) if ((d) >= MOD) d %= MOD;
- #define DONEGMOD(d) if ((d) < 0) d = ((d % MOD) + MOD) % MOD;
- #define inp(a) scanf("%d", &a)
- #define inp2(a,b) scanf("%d %d", &a, &b)
- #define inp3(a,b,c) scanf("%d %d %d", &a, &b, &c)
- #define inp4(a,b,c,d) scanf("%d %d %d %d", &a, &b, &c, &d)
- #define inpl(a) scanf("%lld", &a)
- #define inpl2(a,b) scanf("%lld %lld", &a, &b)
- #define inpl3(a,b,c) scanf("%lld %lld %lld", &a, &b, &c)
- #define inpl4(a,b,c,d) scanf("%lld %lld %lld %lld", &a, &b, &c, &d)
- #define all(v) (v).begin(), (v).end()
- #define rep(i,a,b) for (int i=a;i<b;i++)
- #define mset(a,val) memset(a,val,sizeof(a))
- #define printv(v) for (int i=0;i<(int) v.size(); i++) cout<<v[i]<<" "
- #define MAX 100005
- using namespace std ;
- typedef long long int ll ;
- typedef pair<int,int> pii ;
- typedef pair<long long , long long > pll ;
- int main()
- {
- #ifdef DHEER
- freopen("inp.txt","r",stdin) ;
- freopen("out.txt","w",stdout) ;
- #endif
- int n ;
- while (1)
- {
- inp(n) ;
- if (n==0) break ;
- vector<int> v[n+1] ;
- int color[n+1] ;
- int x, y ;
- while (1)
- {
- inp2(x,y) ;
- if (x==0 && y==0) break ;
- v[x].pb(y) ; v[y].pb(x) ;
- }
- for (int i=1;i<=n;i++) color[i] = -1 ;
- queue<int> q ;
- bool ans = true ;
- int f ;
- for (int i=i;i<=n;i++)
- {
- if (color[i] == -1)
- {
- q.push(i) ;
- color[i] = 0 ;
- while (!q.empty())
- {
- f = q.front() ;
- q.pop() ;
- for (auto it : v[f])
- {
- if (color[it] == -1)
- {
- color[it] = 1 - color[f] ;
- q.push(it) ;
- }else if (color[it] == color[f]) {
- ans = false ; break ;
- }
- }
- if (!ans) break ;
- }
- if (!ans) break ;
- }
- }
- if (ans) cout<<"YES"<<endl ;
- else cout<<"NO"<<endl ;
- }
- return 0 ;
- }
Add Comment
Please, Sign In to add comment