257502026-03-01 16:04:01abcdEgyirányú egyensúlycpp17Hibás válasz 6/5046ms3208 KiB
#include <bits/stdc++.h>
using namespace std;
#define pb push_back

const int maxn=20001, maxm=50001;
vector<array<int,3>> adj[maxn];
int dir[maxm];

void euler(int v){
    for(auto [u,i,d]:adj[v]){
        if(dir[i]==0){
            dir[i]=d;
            euler(u);
        }
    }
}

int main(){
    int n,m;cin>>n>>m;
    for(int i=0;i<m;i++){
        int a,b;cin>>a>>b;
        adj[a].pb({b,i,1});
        adj[b].pb({a,i,2});
    }
    vector<int> start;
    for(int i=1;i<=n;i++)if(adj[i].size()&1)start.pb(i);
    for(int v:start)euler(v);
    cout<<start.size()<<'\n';
    for(int i=0;i<m;i++){
        if(dir[i]==1)cout<<"<- ";
        else cout<<"-> ";
    }
    cout<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base6/50
1Hibás válasz0/02ms820 KiB
2Hibás válasz0/035ms3124 KiB
3Elfogadva2/22ms820 KiB
4Hibás válasz0/22ms820 KiB
5Hibás válasz0/21ms820 KiB
6Elfogadva2/21ms820 KiB
7Hibás válasz0/21ms820 KiB
8Hibás válasz0/22ms820 KiB
9Elfogadva2/21ms820 KiB
10Hibás válasz0/22ms820 KiB
11Hibás válasz0/22ms820 KiB
12Hibás válasz0/22ms820 KiB
13Hibás válasz0/38ms1356 KiB
14Hibás válasz0/317ms1808 KiB
15Hibás válasz0/318ms1740 KiB
16Hibás válasz0/321ms2100 KiB
17Hibás válasz0/39ms1332 KiB
18Hibás válasz0/323ms1952 KiB
19Hibás válasz0/328ms2356 KiB
20Hibás válasz0/335ms3032 KiB
21Hibás válasz0/339ms3064 KiB
22Hibás válasz0/346ms3208 KiB