| 10938 | 2024-04-20 17:16:06 | k_balint | Vasútépítés | cpp17 | Hibás válasz 40/100 | 54ms | 12032 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);
}
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 | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 3ms | 1824 KiB | ||||
| 2 | Elfogadva | 3ms | 2088 KiB | ||||
| 3 | Elfogadva | 3ms | 3092 KiB | ||||
| subtask2 | 40/40 | ||||||
| 4 | Elfogadva | 52ms | 10496 KiB | ||||
| 5 | Elfogadva | 52ms | 10660 KiB | ||||
| 6 | Elfogadva | 52ms | 10676 KiB | ||||
| 7 | Elfogadva | 52ms | 10872 KiB | ||||
| 8 | Elfogadva | 52ms | 10872 KiB | ||||
| 9 | Elfogadva | 52ms | 10968 KiB | ||||
| 10 | Elfogadva | 50ms | 11068 KiB | ||||
| 11 | Elfogadva | 3ms | 3348 KiB | ||||
| subtask3 | 0/60 | ||||||
| 12 | Elfogadva | 52ms | 10496 KiB | ||||
| 13 | Elfogadva | 52ms | 10660 KiB | ||||
| 14 | Elfogadva | 52ms | 10676 KiB | ||||
| 15 | Elfogadva | 52ms | 10872 KiB | ||||
| 16 | Elfogadva | 52ms | 10872 KiB | ||||
| 17 | Elfogadva | 52ms | 10968 KiB | ||||
| 18 | Elfogadva | 50ms | 11068 KiB | ||||
| 19 | Elfogadva | 3ms | 3348 KiB | ||||
| 20 | Elfogadva | 52ms | 11376 KiB | ||||
| 21 | Elfogadva | 52ms | 11364 KiB | ||||
| 22 | Elfogadva | 50ms | 11348 KiB | ||||
| 23 | Elfogadva | 52ms | 11304 KiB | ||||
| 24 | Elfogadva | 54ms | 11568 KiB | ||||
| 25 | Elfogadva | 52ms | 11508 KiB | ||||
| 26 | Elfogadva | 52ms | 11708 KiB | ||||
| 27 | Elfogadva | 52ms | 11740 KiB | ||||
| 28 | Elfogadva | 43ms | 8404 KiB | ||||
| 29 | Hibás válasz | 52ms | 12032 KiB | ||||
| 30 | Elfogadva | 3ms | 4356 KiB | ||||
| 31 | Elfogadva | 3ms | 4964 KiB | ||||