#include <iostream> using namespace std; int main() { int m, n, p=0, d, a, b; static int T[200002]; static int S[200002]; static int K[200002]; cin >> n >> m >> d; for (int i=0; i<m; i++){ cin >> a >> b; T[i]=a; S[i]=b; } while(p!=m){ p=0; for(int i=1; i<=m; i++){ if(K[i]!=200001){K[i]=0;}} for(int i=0; i<m; i++){ if(T[i]!=0){K[T[i]]=K[T[i]]+1;} if(S[i]!=0){K[S[i]]=K[S[i]]+1;} } for(int i=1; i<=m; i++){ if(K[i]<d){T[i-1]=0; S[i-1]=0; K[i]=200001;} else{p=p+1;} } } int w=0; for (int i=1; i<=m; i++){ if(K[i]!=200001){w=w+1;}} if(w==0){cout << "NIE" << '\n';} else{ cout << w << '\n'; for (int i=1; i<=m; i++){ if(T[i-1]!=0){ cout << T[i-1] << ' ';}}} return 0; }
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <iostream> using namespace std; int main() { int m, n, p=0, d, a, b; static int T[200002]; static int S[200002]; static int K[200002]; cin >> n >> m >> d; for (int i=0; i<m; i++){ cin >> a >> b; T[i]=a; S[i]=b; } while(p!=m){ p=0; for(int i=1; i<=m; i++){ if(K[i]!=200001){K[i]=0;}} for(int i=0; i<m; i++){ if(T[i]!=0){K[T[i]]=K[T[i]]+1;} if(S[i]!=0){K[S[i]]=K[S[i]]+1;} } for(int i=1; i<=m; i++){ if(K[i]<d){T[i-1]=0; S[i-1]=0; K[i]=200001;} else{p=p+1;} } } int w=0; for (int i=1; i<=m; i++){ if(K[i]!=200001){w=w+1;}} if(w==0){cout << "NIE" << '\n';} else{ cout << w << '\n'; for (int i=1; i<=m; i++){ if(T[i-1]!=0){ cout << T[i-1] << ' ';}}} return 0; } |