Submission #1689375


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;

using ll = long long;
using P = pair<int, int>;

int N, M;
bool edge[11][11];
bool used[11], vis[11];
int ans;

void bfs(int n, int s) {
  queue<P> next;
  P cur = P(n, 0);
  next.push(cur);

  while (!next.empty()) {
    cur = next.front();
    next.pop();

    int v = cur.first;
    int depth = cur.second;
    used[v] = true;
    if (depth == 2 && !vis[v] && !edge[s][v]) {
      ans++;
      vis[v] = true;
      continue;
    }
    for (int i = 0; i < N; i++) {
      if (used[i]) continue;
      if (!edge[v][i]) continue;
      next.push(P(i, depth + 1));
    }
  }
}

int main() {
  // 入力
  cin >> N >> M;
  int a, b;
  for (int i = 0; i < M; i++) {
    cin >> a >> b;
    a--; b--;
    edge[a][b] = edge[b][a] = true;
  }

  // 各頂点からの幅優先探索で、深さ2のものの個数を数える
  for (int i = 0; i < N; i++) {
    ans = 0;
    fill(used, used + N, false);
    fill(vis, vis + N, false);
    bfs(i, i);
    cout << ans << endl;
  }

  return 0;
}

Submission Info

Submission Time
Task C - 友達の友達
User university
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1253 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 32
Set Name Test Cases
All 00_sample_00.txt, 00_sample_01.txt, 10_rand_00.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 10_rand_09.txt, 10_rand_10.txt, 10_rand_11.txt, 10_rand_12.txt, 10_rand_13.txt, 10_rand_14.txt, 10_rand_15.txt, 10_rand_16.txt, 10_rand_17.txt, 10_rand_18.txt, 10_rand_19.txt, 10_rand_20.txt, 10_rand_21.txt, 10_rand_22.txt, 10_rand_23.txt, 10_rand_24.txt, 10_rand_25.txt, 10_rand_26.txt, 10_rand_27.txt, 10_rand_28.txt, 10_rand_29.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 256 KB
00_sample_01.txt AC 1 ms 256 KB
10_rand_00.txt AC 1 ms 256 KB
10_rand_01.txt AC 1 ms 256 KB
10_rand_02.txt AC 1 ms 256 KB
10_rand_03.txt AC 1 ms 256 KB
10_rand_04.txt AC 1 ms 256 KB
10_rand_05.txt AC 1 ms 256 KB
10_rand_06.txt AC 1 ms 256 KB
10_rand_07.txt AC 1 ms 256 KB
10_rand_08.txt AC 1 ms 256 KB
10_rand_09.txt AC 1 ms 256 KB
10_rand_10.txt AC 1 ms 256 KB
10_rand_11.txt AC 1 ms 256 KB
10_rand_12.txt AC 1 ms 256 KB
10_rand_13.txt AC 1 ms 256 KB
10_rand_14.txt AC 1 ms 256 KB
10_rand_15.txt AC 1 ms 256 KB
10_rand_16.txt AC 1 ms 256 KB
10_rand_17.txt AC 1 ms 256 KB
10_rand_18.txt AC 1 ms 256 KB
10_rand_19.txt AC 1 ms 256 KB
10_rand_20.txt AC 1 ms 256 KB
10_rand_21.txt AC 1 ms 256 KB
10_rand_22.txt AC 1 ms 256 KB
10_rand_23.txt AC 1 ms 256 KB
10_rand_24.txt AC 1 ms 256 KB
10_rand_25.txt AC 1 ms 256 KB
10_rand_26.txt AC 1 ms 256 KB
10_rand_27.txt AC 1 ms 256 KB
10_rand_28.txt AC 1 ms 256 KB
10_rand_29.txt AC 1 ms 256 KB