Facebook
From Bobi, 3 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 210
  1. #include <cstdio>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int n, m;
  6. vector <int> graph[10100];
  7. bool visited[10100];
  8.  
  9. void dfs(int node) {
  10.         if(visited[node]) {
  11.                 return;
  12.         } else {
  13.                 visited[node] = true;
  14.                 for (int neighbour:graph[node]) {
  15.                         dfs(neighbour);
  16.                 }
  17.         }
  18. }
  19.  
  20. int main() {
  21.         scanf("%d%d", &n, &m);
  22.         for (int i = 0;i < m;i++) {
  23.                 int u, v;
  24.                 scanf("%d%d", &u, &v);
  25.                 u--;
  26.                 v--;
  27.                 graph[u].push_back(v);
  28.                 graph[v].push_back(u);
  29.         }
  30.         if (m != n-1) {
  31.                 printf("NO");
  32.                 return 0;
  33.         }
  34.         dfs(0);
  35.         int b = 0;
  36.         for (int i = 0;i < 10100;i++) {
  37.                 if (visited[i]) {
  38.                         b++;
  39.                 }
  40.         }
  41.         if (b == n) {
  42.                 printf("YES");
  43.         } else {
  44.                 printf("NO");
  45.         }
  46.         return 0;
  47. }

Replies to PT07Y rss

Title Name Language When
Re: https://pastebin.pl/view/909f2230 Noerblanc text 3 Years ago.