9510 2024. 02. 22 13:09:22 zeytonx Testnevelés óra cpp17 Hibás válasz 2/50 1.1s 127336 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
//#define endl "\n"
#define pll pair<ll,ll>
#define vll vector<ll>
#define mll map<ll,ll>
#define fs first
#define sc second

const ll MOD = 1e9+7;

vector<vector<ll>> g;
vector<vector<ll>> ans;
ll ans_ind = -1;

void dfs(ll n, vector<ll> &used, vector<ll> bejart)
{
    if(ans_ind == 2 || ans_ind == 0)
        return;

    if(bejart.size() == g.size())
    {
        ans.push_back(bejart);
        ans_ind = ans.size();
        if(ans_ind == 2)
            return;
    }

    used[n] = 1;
    for(ll i : g[n])
        if(used[i])
            ans_ind = 0;
        else
        {
            bejart.push_back(i);
            dfs(i, used, bejart);
            bejart.pop_back();
        }
    used[n] = 0;
}

void solve()
{
	ll n, k;
    cin >> n >> k;
    g.assign(n, vector<ll>());
    set<ll> kezd;
    for(ll i = 0; i < n; i++)
        kezd.insert(i);
    for(ll i = 0; i < k; i++)
    {   
        ll a, b;
        cin >> a >> b;
        a--; b--;
        g[a].push_back(b);
        kezd.erase(b);
    }
    if(kezd.size() == 0)
    {
        cout << 0 << endl;
        return;
    }
    for(ll i : kezd)
    {
        vector<ll> used(n,0);
        dfs(i, used, {i});
        if(ans_ind == 0)
        {
            cout << 0 << endl;
            return;
        }
        if(ans_ind == 2)
        {
            cout << 2 << endl;
            for(auto i : ans)
            {
                for(ll j : i)
                    cout << j+1 << " ";
                cout << endl;
            }
        }
    }
    cout << ans_ind << endl;
    for(auto i : ans)
    {
        for(ll j : i)
            cout << j+1 << " ";
        cout << endl;
    }

}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
        solve();
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 2/50
1 Elfogadva 0/0 3ms 1828 KiB
2 Hibás válasz 0/0 3ms 2060 KiB
3 Hibás válasz 0/0 717ms 21128 KiB
4 Hibás válasz 0/2 3ms 4740 KiB
5 Hibás válasz 0/3 3ms 4832 KiB
6 Hibás válasz 0/3 2ms 4836 KiB
7 Hibás válasz 0/3 3ms 5252 KiB
8 Elfogadva 1/1 3ms 5252 KiB
9 Hibás válasz 0/3 3ms 5200 KiB
10 Időlimit túllépés 0/3 1.098s 5760 KiB
11 Időlimit túllépés 0/3 1.08s 5372 KiB
12 Elfogadva 1/1 4ms 5972 KiB
13 Időlimit túllépés 0/2 1.1s 6000 KiB
14 Hibás válasz 0/3 4ms 6676 KiB
15 Időlimit túllépés 0/1 1.1s 18352 KiB
16 Futási hiba 0/3 177ms 127336 KiB
17 Időlimit túllépés 0/5 1.07s 18448 KiB
18 Időlimit túllépés 0/1 1.072s 19696 KiB
19 Időlimit túllépés 0/2 1.067s 19088 KiB
20 Futási hiba 0/3 211ms 127324 KiB
21 Futási hiba 0/4 212ms 127300 KiB
22 Futási hiba 0/4 212ms 127280 KiB