Submission #797288

#TimeUsernameProblemLanguageResultExecution timeMemory
797288radaiosm7Duathlon (APIO18_duathlon)C++98
5 / 100
51 ms468 KiB
#include <bits/stdc++.h>
using namespace std;
#define X first
#define Y second
int n, m, i, j, k, a, b, ans, s;
int mat[15][15];
vector<int> adj[15];
bool visited[15];

void dfs(int k, int x) {
  visited[x] = true;

  for (auto y : adj[x]) {
    if (!visited[y] && (__builtin_popcount(s & (1 << y)) == k)) dfs(k, y);
  }
}

int main() {
  scanf("%d%d", &n, &m);
  for (i=1; i <= n; ++i) for (j=1; j <= n; ++j) mat[i][j] = 0;

  for (i=0; i < m; ++i) {
    scanf("%d%d", &a, &b);
    mat[a][b] = 1;
    mat[b][a] = 1;
    adj[a].push_back(b);
    adj[b].push_back(a);
  }

  ans = 0;

  for (i=1; i <= n; ++i) {
    for (j=1; j <= n; ++j) {
      if (i == j) continue;
      for (k=1; k <= n; ++k) {
        if (k == i || k == j) continue;

        for (s=0; s < (1 << (n+1)); ++s) {
          fill(visited, visited+n+1, false);
          dfs(0, j);
          if (!visited[i]) continue;
          fill(visited, visited+n+1, false);
          dfs(1, j);
          if (!visited[k]) continue;
          ++ans;
          break;
        }
      }
    }
  }

  printf("%d\n", ans);
  return 0;
}

Compilation message (stderr)

count_triplets.cpp: In function 'int main()':
count_triplets.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |   scanf("%d%d", &n, &m);
      |   ~~~~~^~~~~~~~~~~~~~~~
count_triplets.cpp:23:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   23 |     scanf("%d%d", &a, &b);
      |     ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...