Submission #350768

# Submission time Handle Problem Language Result Execution time Memory
350768 2021-01-19T08:16:00 Z amunduzbaev Parachute rings (IOI12_rings) C++14
0 / 100
431 ms 748 KB
#ifndef EVAL
#include "grader.cpp"
#endif

#include "bits/stdc++.h"
using namespace std;

#define pb push_back
#define ss second
#define ff first

const int N = 5e3+5;
int n;
vector<pair<int, int>> edges[N];
int used[N], vis[N];

void Init(int nn) { n = nn; }

int last;
void Link(int A, int B) {
	edges[A].pb({B, ++last});
	edges[B].pb({A, last});
}

bool dfs(int u, int p){
	if(vis[u]) return 0;
	int cnt = 0;
	vis[u] = 1;
	for(auto x:edges[u]){
		if(used[x.ss] || x.ff == p) continue;
		if(cnt) return 0;
		cnt++; 
		dfs(x.ff, u);
	}return 1;
}

int CountCritical(){
	memset(used, 0, sizeof used);
	int cnt = 0;
	//for(int i=0;i<n;i++) cout<<i<<" ";
	//cout<<"\n";
	for(int i=0;i<n;i++){
		for(auto x:edges[i]) used[x.ss] = 1;
		vis[i] = 1;
		bool ok = 1;
		for(int j=0;j<n && ok;j++){
			if(!vis[j]){
				int cnt = 0;
				//vis[j] = 1;
				for(auto x:edges[j]){
					if(used[x.ss]) continue;
					cnt++;
					ok &= dfs(x.ff, j);
				}
				if(cnt > 2) ok = 0;
			}
		}
		for(auto x:edges[i]) used[x.ss] = 0;
		memset(vis, 0, sizeof vis);
		cnt += ok;
		//cout<<ok<<" ";
	} //cout<<"\n";
	return cnt;
}

/*

7 13 
-1
1 2 
-1
0 5 
-1
2 0 
-1
3 2 
-1
3 5 
-1
4 3 
-1


*/
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Incorrect 431 ms 748 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 2 ms 748 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Incorrect 431 ms 748 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Incorrect 431 ms 748 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 492 KB Output is correct
2 Incorrect 431 ms 748 KB Output isn't correct
3 Halted 0 ms 0 KB -