Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #define MAX 101
- int i, j, n, c, Edges;
- int g[MAX][MAX], used[MAX];
- void dfs(int v)
- {
- used[v] = 1;
- c++;
- for (int i = 1; i <= n; i++)
- if (g[v][i] && !used[i]) dfs(i);
- }
- int main(void)
- {
- scanf("%d", &n); Edges = c = 0;
- memset(used, 0, sizeof(used));
- for (i = 1; i <= n; i++)
- for (j = 1; j <= n; j++)
- {
- scanf("%d", &g[i][j]);
- Edges += g[i][j];
- }
- dfs(1);
- Edges /= 2;
- if ((Edges == n - 1) && (c == n)) printf("YES\n");
- else printf("NO\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement