109392024-04-20 17:23:01k_balintVasútépítéscpp17Hibás válasz 0/10041ms8424 KiB
#include <bits/stdc++.h>
using namespace std;
const int c=1005;

int n,m,tt;
vector<int> adj[c];
int vis[c];
int cnt,deg;
vector<int> kor;
int ans[c][c];
int par[c];
bool korben[c];
int st,ed;

void dfs(int v){
    ++cnt; deg+=adj[v].size();
    vis[v]=1;
    for(int x:adj[v]){
        if(!vis[x]) dfs(x);
    }
}


void dfs2(int v, int p){
    par[v]=p;
    vis[v]=2;
    for(int x:adj[v]){
        if(x==p) continue;
        if(vis[x]==2){
            if(st==-1){
                st=x,ed=v;
            }
        }
        else dfs2(x,v);
    }
}

void dfs3(int v){
    vis[v]=1;
    for(int x:adj[v]){
        if(!korben[x] && !vis[x]){
            ans[v][x]=ans[x][v]=++tt;
            dfs3(x);
        }
    }
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin>>n>>m;
    for(int i=1;i<=m;i++){
        int a,b; cin>>a>>b;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }

    cout << -1 << endl;
    return 0;

    for(int i=1;i<=n;i++){
        if(!vis[i]){
            deg=0; cnt=0;
            dfs(i);
            if(deg>2*cnt){
                cout << -1 << endl;
                return 0;
            }
            st=-1,ed=-1;
            dfs2(i,0);
            if(st==-1) continue;
            ans[st][ed]=ans[ed][st]=++tt;

            korben[st]=1;
            int cur=ed;
            while(cur != st){
                korben[cur]=1;
                ans[cur][par[cur]]=ans[par[cur]][cur]=++tt;
                cur=par[cur];
            }
        }
    }

    for(int i=1;i<=n;i++) vis[i]=0;

    for(int i=1;i<=n;i++){
        if(!vis[i] && korben[i]) dfs3(i);
    }

    for(int i=1;i<=n;i++){
        if(!vis[i]) dfs3(i);
    }

    for(int i=1;i<n;i++){
        for(int j=i+1;j<=n;j++){
            if(!ans[i][j]) ans[i][j]=++tt;
            cout << ans[i][j] << ' ';
        }
        cout << '\n';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz3ms1932 KiB
2Elfogadva3ms2248 KiB
3Hibás válasz3ms2464 KiB
subtask20/40
4Hibás válasz3ms2580 KiB
5Hibás válasz3ms2828 KiB
6Hibás válasz3ms2620 KiB
7Hibás válasz3ms2624 KiB
8Hibás válasz3ms2880 KiB
9Hibás válasz3ms3164 KiB
10Hibás válasz3ms3376 KiB
11Hibás válasz3ms3548 KiB
subtask30/60
12Hibás válasz3ms2580 KiB
13Hibás válasz3ms2828 KiB
14Hibás válasz3ms2620 KiB
15Hibás válasz3ms2624 KiB
16Hibás válasz3ms2880 KiB
17Hibás válasz3ms3164 KiB
18Hibás válasz3ms3376 KiB
19Hibás válasz3ms3548 KiB
20Hibás válasz3ms3804 KiB
21Hibás válasz3ms3936 KiB
22Hibás válasz3ms4108 KiB
23Hibás válasz3ms4016 KiB
24Hibás válasz3ms4160 KiB
25Hibás válasz3ms4020 KiB
26Hibás válasz3ms4052 KiB
27Hibás válasz3ms4152 KiB
28Elfogadva41ms8424 KiB
29Elfogadva3ms4036 KiB
30Elfogadva3ms4032 KiB
31Elfogadva3ms4208 KiB