int main () { srand (time (0)); freopen (NAME".in", "r", stdin); freopen (NAME".out", "w", stdout); scanf ("%d %d", &n, &m); g.resize (n + 1); used.resize (n + 1, 0); for (int i = 0; i < m; i++) { int x, y; scanf ("%d %d", &x, &y); g [x].pb (y); g [y].pb (x); } int ans = 0; for (int i = 1; i <= n; i++) if (!used [i]) { ans++; dfs (i); } printf ("%d\n", ans); return 0; }
int main () { srand (time (0)); freopen (NAME".in", "r", stdin); freopen (NAME".out", "w", stdout); scanf ("%d", &n); primes.resize (n + 1, 1); primes [0] = primes [1] = 0; for (int i = 2; i * i <= n; i++) if (primes [i] && (i * 1ll * i <= n)) for (int j = i * i; j <= n; j += i) primes [j] = 0; int ans = 0; int res = 2; for (int i = 1; i <= n; i++) { ans += primes [i]; res = primes [i] ? i : res; } cout << ans << endl; cout << res << endl; return 0; }
int main () { srand (time (0)); freopen ("input.txt", "r", stdin); freopen ("output.txt", "w", stdout); scanf ("%d %d", &n, &m); g.resize (n + 1); used.resize (n + 1, 0); for (int i = 0; i < m; i++) { int x, y; scanf ("%d %d", &x, &y); g [x].pb (y); num [x][y] = i + 1; } int st; scanf ("%d", &st); vi ans; found = 0; dfs (st, ans); if ((int) ans.size () == 0) { puts ("-1"); return 0; } reverse (ans.begin (), ans.end ()); ans.pop_back (); printf ("%d\n", (int) ans.size ()); for (int i = 0; i < (int) ans.size (); i++) printf ("%d%c", ans [i], " \n" [i == (int) ans.size () - 1]); return 0; }