215852026-01-13 16:50:53algoproEgyirányú egyensúlycpp17Hibás válasz 2/5037ms3380 KiB
// UUID: c716a064-19f9-4161-87d5-b5f06b337cd9
#include <bits/stdc++.h>
using namespace std;

vector<vector<pair<int,int>>>g;
vector<pair<int,int>>edge;
vector<int>dir;

void dfs(int x){
	while(!g[x].empty()){
		pair<int,int>y=g[x].back();
		g[x].pop_back();
		dir[y.second]=y.first;
		dfs(y.first);
	}
}

int main() {
	int n,m;cin>>n>>m;
	g.resize(n+1);edge.resize(n+1);dir.resize(n+1);
	for(int i=1;i<=m;i++){
		int u,v;cin>>u>>v;
		g[u].push_back({v,i});
		g[v].push_back({u,i});
		edge[i]={u,v};
	}
	int c=0;
	for(int i=1;i<=n;i++)if(g[i].size()%2==1)c++;
	for(int i=1;i<=n;i++){
		if(!g[i].empty())dfs(i);
	}
	cout<<c<<'\n';
	for(int i=1;i<=m;i++){
		if(edge[i].second==dir[i])cout<<"-> ";
		else cout<<"<- ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base2/50
1Hibás válasz0/01ms316 KiB
2Futási hiba0/012ms1076 KiB
3Elfogadva2/21ms316 KiB
4Futási hiba0/21ms512 KiB
5Hibás válasz0/21ms316 KiB
6Futási hiba0/21ms500 KiB
7Futási hiba0/21ms316 KiB
8Futási hiba0/22ms316 KiB
9Hibás válasz0/21ms316 KiB
10Futási hiba0/21ms316 KiB
11Hibás válasz0/22ms316 KiB
12Hibás válasz0/21ms316 KiB
13Futási hiba0/36ms752 KiB
14Hibás válasz0/316ms1844 KiB
15Hibás válasz0/318ms2036 KiB
16Futási hiba0/34ms564 KiB
17Hibás válasz0/310ms1592 KiB
18Futási hiba0/36ms824 KiB
19Futási hiba0/37ms820 KiB
20Futási hiba0/335ms3380 KiB
21Futási hiba0/38ms1076 KiB
22Futási hiba0/337ms2412 KiB