360:挑選鎮長

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int T, n, m, a, b, i, j, cnt;
    vector<int> v[100001];
    vector<int> res;
    cin>>T;
    while(T--)
    {
        res.clear();
        for(i = 0; i < 100001; i++)
            v[i].clear();
        cin>>n>>m;
        for(i = 0; i < m; i++)
        {
            cin>>a>>b;
            v[b].push_back(a);
        }
        for(i = 1; i <= n; i++)
        {
            cnt = 0;
            for(j = 0; j < v[i].size(); j++)
            {
                if(v[i][j] != i)
                    cnt++;
            }
            if(cnt == n - 1)
                res.push_back(i);
        }
        if(res.size())
            cout<<res.size();
        else
            cout<<"0"<<endl;
        cout<<endl;
        for(i = 0; i < res.size(); i++)
        {
            cout<<res[i];
            if(i == res.size() - 1)
                cout<<endl;
            else
                cout<<" ";
        }
    }
    return 0;
}

發佈了101 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章