#include <iostream> using namespace std; const int MAXN = 1e6 + 5; int deg[MAXN]; int n; bool find() { for (int i = 1; i <= n; i++) { if (deg[i]) { deg[i]--; return i != 1; } } return 0; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { int d; cin >> d; deg[d]++; } int x = 0, k = 2; if (find()) x++; if (find()) x++; cout << x << "\n" << k << "\n" << 1 << " " << 2 << "\n"; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include <iostream> using namespace std; const int MAXN = 1e6 + 5; int deg[MAXN]; int n; bool find() { for (int i = 1; i <= n; i++) { if (deg[i]) { deg[i]--; return i != 1; } } return 0; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { int d; cin >> d; deg[d]++; } int x = 0, k = 2; if (find()) x++; if (find()) x++; cout << x << "\n" << k << "\n" << 1 << " " << 2 << "\n"; } |