Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define sz(a) (int)a.size()
- #define re return
- #define fi first
- #define se second
- #define pb push_back
- #define all(a) a.begin(), a.end()
- #pragma GCC optimize("Ofast")
- #pragma GCC optimize("no-stack-protector")
- #pragma GCC optimize("unroll-loops")
- #pragma GCC target("sse,sse2,sse3,ssse3,popcnt,abm,mmx,tune=native")
- #pragma GCC optimize("fast-math")
- using namespace std;
- typedef long long ll;
- typedef string str;
- typedef long double ld;
- typedef pair<int,int> pii;
- typedef pair<ll,ll> pll;
- typedef vector<ll> vll;
- typedef vector<int>vi;
- int n, m, st;
- bool ma[101][101], used[101];
- void dfs (int v, int pr) {
- for(int i = 0; i < n; ++i)
- if(i != pr && used[i] && ma[i][v])
- {
- cout << "NO";
- exit(0);
- }
- else
- if(i != pr && ma[i][v])
- {
- dfs(i, v);
- used[v] = 1;
- }
- used[v] = 1;
- }
- ///!!!<3<3<3<3<3!!!
- void ProdamGaraje ()
- {
- cin >> n >> m;
- for (int i = 0; i < m; ++i) {
- int x, y;
- cin >> x >> y;
- x--; y--;
- if(ma[x][y] || x == y)
- {
- cout << "NO";
- re;
- }
- ma[x][y] = 1;
- ma[y][x] = 1;
- st = x;
- }
- used[st] = 1;
- dfs(st, st);
- cout << "YES";
- }
- ///!!!<3<3<3<3<3!!!
- int main ()
- {
- freopen ("tree.in", "r", stdin);
- freopen ("tree.out", "w", stdout);
- ios::sync_with_stdio(0);
- cin.tie(0); cout.tie(0);
- int tt = 1;
- //cin >> tt;
- while (tt--)
- ProdamGaraje ();
- }
- ///GOOOOOOSE!!!!
- /*
- ▄▀▀▀▄
- ▄███▀░0░░░▌
- ▌░░░░░▐
- ▌░░░░░▐
- ▌▌ ▌▌
- ▌▌ ▌▌
- ▌▌ ▌▌
- ▌▌ ▌▌
- ▌▌ ▌▌
- ▄▄▌▌▄▌▌ */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement