답안 #38051

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
38051 2017-12-31T05:10:49 Z funcsr 낙하산 고리들 (IOI12_rings) C++14
20 / 100
4000 ms 1228 KB
#include <iostream>
#include <vector>
#include <string>
#define rep(i, n) for (int i=0; i<(n); i++)
#define pb push_back
using namespace std;

int N;
vector<int> G[5000];
int cnt[5000];
void Init(int N_) {
  N = N_;
  cnt[0] = N;
  if (N > 5000) abort();
}

void Link(int A, int B) {
  cnt[G[A].size()]--;
  cnt[G[B].size()]--;
  G[A].pb(B);
  G[B].pb(A);
  cnt[G[A].size()]++;
  cnt[G[B].size()]++;
}
bool has_cycle;
bool used[5000];
void dfs(int x, int p, int except) {
  used[x] = true;
  for (int t : G[x]) if (t != p && t != except) {
    if (used[t]) { has_cycle = true; break; }
    dfs(t, x, except);
  }
}

int CountCritical() {
  int ctr = 0;
  rep(i, N) {
    rep(j, N) used[j] = false;
    has_cycle = false;
    rep(j, N) if (i != j && !used[j]) dfs(j, -1, i);
    if (has_cycle) continue;
    for (int t : G[i]) {
      cnt[G[t].size()]--;
      cnt[G[t].size()-1]++;
    }
    cnt[G[i].size()]--;
    if (cnt[0]+cnt[1]+cnt[2] == N-1) ctr++;
    cnt[G[i].size()]++;
    for (int t : G[i]) {
      cnt[G[t].size()-1]--;
      cnt[G[t].size()]++;
    }
  }
  return ctr;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 488 ms 696 KB Output is correct
3 Correct 891 ms 792 KB Output is correct
4 Correct 16 ms 792 KB Output is correct
5 Correct 234 ms 812 KB Output is correct
6 Correct 1050 ms 968 KB Output is correct
7 Correct 166 ms 968 KB Output is correct
8 Correct 399 ms 968 KB Output is correct
9 Correct 929 ms 968 KB Output is correct
10 Correct 858 ms 968 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 1084 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 488 ms 696 KB Output is correct
3 Correct 891 ms 792 KB Output is correct
4 Correct 16 ms 792 KB Output is correct
5 Correct 234 ms 812 KB Output is correct
6 Correct 1050 ms 968 KB Output is correct
7 Correct 166 ms 968 KB Output is correct
8 Correct 399 ms 968 KB Output is correct
9 Correct 929 ms 968 KB Output is correct
10 Correct 858 ms 968 KB Output is correct
11 Execution timed out 4027 ms 1228 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 488 ms 696 KB Output is correct
3 Correct 891 ms 792 KB Output is correct
4 Correct 16 ms 792 KB Output is correct
5 Correct 234 ms 812 KB Output is correct
6 Correct 1050 ms 968 KB Output is correct
7 Correct 166 ms 968 KB Output is correct
8 Correct 399 ms 968 KB Output is correct
9 Correct 929 ms 968 KB Output is correct
10 Correct 858 ms 968 KB Output is correct
11 Execution timed out 4027 ms 1228 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 380 KB Output is correct
2 Correct 488 ms 696 KB Output is correct
3 Correct 891 ms 792 KB Output is correct
4 Correct 16 ms 792 KB Output is correct
5 Correct 234 ms 812 KB Output is correct
6 Correct 1050 ms 968 KB Output is correct
7 Correct 166 ms 968 KB Output is correct
8 Correct 399 ms 968 KB Output is correct
9 Correct 929 ms 968 KB Output is correct
10 Correct 858 ms 968 KB Output is correct
11 Runtime error 3 ms 1084 KB Execution killed with signal 11 (could be triggered by violating memory limits)
12 Halted 0 ms 0 KB -