Codeforces Round #429 (Div. 2), problem: (D) Leha and another game about graph Solution In C/C++

#include<cstdio>
using namespace std;
const int MAXN = 300000+5;
const int MAXE = MAXN*2;
int to[MAXE], nxt[MAXE], head[MAXN], ne;
void addEdge(int f, int t) {
to[++ne] = t;
nxt[ne] = head[f];
head[f] = ne;
}
int n, m;
int d[MAXN];
bool vis[MAXN];
bool mark[MAXE];
int ednum;
int dfs(int u) {
vis[u] = true;
int tot = (d[u] == 1);
for (int i = head[u]; i; i = nxt[i])
{
if (vis[to[i]]) continue;
int v = to[i];
int tmp = dfs(v);
if (tmp & 1) mark[(i+1)>>1] = true, ednum ++;
tot += tmp;
}
return tot;
}
int main()
{
scanf(“%d%d”, &n, &m);
int num = 0;
for (int i = 1; i<=n; i++)
{
scanf(“%d”, &d[i]);
if (d[i] == 1) num++;
}
bool flag = false;
if (num & 1) {
for (int i = 1; i<=n; i++) {
if (d[i] == -1 && !flag) {
d[i] = 1; flag = true;
}else if (d[i] == -1) d[i] = 0;
}
if (!flag) {
puts(“-1”);
return 0;
}
}else {
for (int i = 1; i<=n; i++) if (d[i] == -1) d[i] = 0;
}
for (int i = 1; i<=m; i++) {
int u, v; scanf(“%d%d”, &u, &v);
addEdge(u, v); addEdge(v, u);
}
dfs(1);
printf(“%d\n”, ednum);
for (int i = 1; i <= m; i++) {
if (mark[i]) printf(“%d\n”, i);
}
return 0;
}

Knicks, NYC Officials Spar...

A heated political and sports dispute has erupted in...

curl-programming-lang 1.0.2

Introduction to curl-programming-lang 1.0.2 The open-source developer ecosystem continues to...

Knicks, NYC Officials Spar Over MSG Watch Parties

A heated political and sports dispute has erupted in New York City, as Madison Square Garden (MSG) Entertainment and local public officials trade sharp...

Why Everyone is Obsessed with the Under Desk Foot Rest

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Rug Gripper Pads

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

curl-programming-lang 1.0.2

Introduction to curl-programming-lang 1.0.2 The open-source developer ecosystem continues to thrive with the introduction of innovative tools designed to simplify software creation. A fascinating new...

Why Everyone is Obsessed with the Blind Spot Mirrors

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Magnetic Spice Rack

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Webcam Cover Slide

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Why Everyone is Obsessed with the Magnetic Cabinet Locks

Are you tired of dealing with everyday frustrations that slow down your routine? We've all been...

Betty Gilpin Says She Was ‘Freaked Out’ Over Prosthetic Genitalia for ‘Office Romance’ Birth Scene

Acclaimed actress Betty Gilpin is known for her fearless performances, but a specific prop on the set of her latest film pushed her well...