제출 #849029

#제출 시각아이디문제언어결과실행 시간메모리
849029hngwlog철인 이종 경기 (APIO18_duathlon)C++14
5 / 100
24 ms7252 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define _size(x) (int)x.size() #define BIT(i, x) ((x >> i) & 1) #define MASK(n) ((1 << n) - 1) #define REP(i, n) for (int i = 0, _n = (n); i < _n; i++) #define FOR(i, a, b) for (int i = a, _b = (b); i <= _b; i++) #define FORD(i, a, b) for (int i = a, _b = (b); i >= _b; i--) #define FORB1(i, mask) for (int i = mask; i > 0; i ^= i & - i) #define FORB0(i, n, mask) for (int i = ((1 << n) - 1) ^ mask; i > 0; i ^= i & - i) #define FORALL(i, a) for (auto i: a) #define fastio ios_base::sync_with_stdio(0); cin.tie(0); int n, m; vector<vector<int>> adj; namespace subtask1 { void main() { vector<vector<vector<int>>> f(n + 1, vector<vector<int>>(n + 1, vector<int>(n + 1))); FOR(i, 1, n) { vector<vector<int>> g((1 << n), vector<int>(n)); FORALL(j, adj[i]) { if (j == i) continue; g[(1 << (i - 1)) | (1 << (j - 1))][j - 1] = 1; } FOR(mask, 0, MASK(n)) { FORB1(_mask, mask) { int u = __builtin_ctz(_mask); if (!g[mask][u]) continue; FORB1(__mask, mask) { int v = __builtin_ctz(__mask); if (i == u + 1 || i == v + 1 || u == v) continue; f[i][v + 1][u + 1]++; } FORALL(v, adj[u + 1]) { if (BIT(v - 1, mask)) continue; g[mask | (1 << (v - 1))][v - 1] = 1; } } } } int ans = 0; FOR(i, 1, n) FOR(j, 1, n) FOR(z, 1, n) { if (i == j || i == z || j == z) continue; ans += (f[i][j][z] > 0); } cout << ans << '\n'; } } int main() { fastio; cin >> n >> m; adj.resize(n + 1); REP(i, m) { int u, v; cin >> u >> v; adj[u].push_back(v); adj[v].push_back(u); } if (n <= 10 && m <= 100) subtask1::main(); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

count_triplets.cpp: In function 'void subtask1::main()':
count_triplets.cpp:41:35: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
   41 |                         if (BIT(v - 1, mask)) continue;
      |                                 ~~^~~
count_triplets.cpp:7:26: note: in definition of macro 'BIT'
    7 | #define BIT(i, x) ((x >> i) & 1)
      |                          ^
#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...