250972026-02-17 21:40:34tomi7Parti (75 pont)cpp17Wrong answer 72/7586ms6832 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n;cin>>n;
    vector<int> a(n);
    vector<vector<int>> c(n);
    queue<int> q;
    vector<bool> vis(n);
    for(int i=0;i<n;i++){
        int x, y;cin>>x>>y;x--;y--;
        a[x]++;a[y]++;
        c[i].push_back(x);c[i].push_back(y);
    }
    if(n==1){
        cout<<0<<'\n';return 0;
    }
    for(int i=0;i<n;i++){
        if(a[i]<2){
            q.push(i);
            vis[i]=true;
        }
    }
    while(!q.empty()){
        int x=q.front();
        q.pop();
        //cout<<x+1<<' '<<c[x][0]+1<<' '<<c[x][1]+1<<endl;
        a[c[x][0]]--;
        a[c[x][1]]--;
        if(a[c[x][0]]<2 && !vis[c[x][0]]){vis[c[x][0]]=true; q.push(c[x][0]);}
        if(a[c[x][1]]<2 && !vis[c[x][1]]){vis[c[x][1]]=true; q.push(c[x][1]);}
    }
    int ans=0;
    vector<int> answ;
    for(int i=0;i<n;i++){
        if(a[i]>=2){
            ans++;
            answ.push_back(i);
        }
    }
    cout<<ans<<"\n";
    for(int x: answ) cout<<x+1<<' ';
}
SubtaskSumTestVerdictTimeMemory
base72/75
1Accepted0/01ms316 KiB
2Accepted0/043ms3636 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Wrong answer0/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted4/41ms316 KiB
9Accepted4/42ms316 KiB
10Accepted4/42ms316 KiB
11Accepted4/42ms316 KiB
12Accepted4/43ms316 KiB
13Accepted4/43ms564 KiB
14Accepted4/44ms544 KiB
15Accepted4/443ms3640 KiB
16Accepted4/452ms4152 KiB
17Accepted4/461ms4916 KiB
18Accepted4/470ms5524 KiB
19Accepted4/479ms6064 KiB
20Accepted4/486ms6832 KiB
21Accepted4/486ms6740 KiB
22Accepted4/41ms316 KiB