結果
問題 | No.488 四角関係 |
ユーザー |
![]() |
提出日時 | 2017-03-04 18:41:48 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 5,000 ms |
コード長 | 1,139 bytes |
コンパイル時間 | 1,682 ms |
コンパイル使用メモリ | 167,984 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 02:00:50 |
合計ジャッジ時間 | 2,572 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for (int i=0;i<(n);i++) #define rep2(i,a,b) for (int i=(a);i<(b);i++) #define rrep(i,n) for (int i=(n)-1;i>=0;i--) #define rrep2(i,a,b) for (int i=(b)-1;i>=(a);i--) #define all(a) (a).begin(),(a).end() typedef long long ll; typedef pair<int, int> P; int N, M; bool mat[50][50]; bool ps_have(int a, int b) { return mat[a][b]; } bool loop(int i, int j, int k, int l) { return ps_have(i, j) && ps_have(j, k) && ps_have(k, l) && ps_have(l, i); } bool square(int i, int j, int k, int l) { return loop(i, j, k, l) && !ps_have(i, k) && !ps_have(j, l); } void solve() { int cnt = 0; cin >> N >> M; rep(i, M) { int a, b; cin >> a >> b; mat[a][b] = mat[b][a] = true; } rep(i, N) { rep2(j, i + 1, N) { rep2(k, j + 1, N) { rep2(l, k + 1, N) { if (square(i, j, k, l) || square(i, j, l, k) || square(i, k, j, l) ) { cnt ++; } } } } } cout << cnt << endl; } int main() { solve(); return 0; }