提出 #41713864
ソースコード 拡げる
#include <bits/stdc++.h>
#define SZ(x) (int) x.size() - 1
#define all(x) x.begin(), x.end()
#define ms(x, y) memset(x, y, sizeof x)
#define F(i, x, y) for (int i = (x); i <= (y); i++)
#define DF(i, x, y) for (int i = (x); i >= (y); i--)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
template <typename T> void chkmax(T& x, T y) { x = max(x, y); }
template <typename T> void chkmin(T& x, T y) { x = min(x, y); }
template <typename T> void read(T &x) {
x = 0; int f = 1; char c = getchar();
for (; !isdigit(c); c = getchar()) if (c == '-') f = -f;
for (; isdigit(c); c = getchar()) x = x * 10 + c - '0';
x *= f;
}
const int N = 410, MOD = 1e9 + 7;
int pos[N][N], ans;
array <int, 3> fa[N][N][2];
array <int, 3> find(array <int, 3> x) {
if (x == fa[x[0]][x[1]][x[2]]) return x;
return fa[x[0]][x[1]][x[2]] = find(fa[x[0]][x[1]][x[2]]);
}
signed main() {
int n; cin >> n;
F(i, 1, n)
F(j, i + 1, n)
F(k, 0, 1)
fa[i][j][k] = array <int, 3> {i, j, k};
int len = n * (n - 1) / 2;
F(i, 1, len) {
int x, y; read(x); read(y);
pos[x][y] = i;
}
F(i, 1, n)
F(j, i + 1, n)
F(k, j + 1, n) {
int a, b, c;
if (pos[i][j] > max(pos[i][k], pos[j][k])) a = i, b = j, c = k;
if (pos[i][k] > max(pos[i][j], pos[j][k])) a = i, b = k, c = j;
if (pos[j][k] > max(pos[i][j], pos[i][k])) a = j, b = k, c = i;
array <int, 3> tmp = find(array <int, 3> { min(a, c), max(a, c), (a > c) });
fa[tmp[0]][tmp[1]][tmp[2]] = find(array <int, 3> { min(b, c), max(b, c), (b > c) });
tmp = find(array <int, 3> { min(a, c), max(a, c), (a < c) });
fa[tmp[0]][tmp[1]][tmp[2]] = find(array <int, 3> { min(b, c), max(b, c), (b < c) });
}
F(i, 1, n)
F(j, i + 1, n) {
if (find(array <int, 3> { i, j, 0 }) == find(array <int, 3> { i, j, 1 })) return puts("0"), 0;
F(k, 0, 1)
if (find(array <int, 3> { i, j, k }) == array <int, 3> {i, j, k}) ans++;
}
int t = 1;
F(i, 1, ans / 2) t = (t + t) % MOD;
cout << t;
return 0;
}
提出情報
コンパイルエラー
./Main.cpp: In function ‘int main()’:
./Main.cpp:43:79: warning: ‘c’ may be used uninitialized in this function [-Wmaybe-uninitialized]
43 | array <int, 3> tmp = find(array <int, 3> { min(a, c), max(a, c), (a > c) });
| ^
./Main.cpp:44:87: warning: ‘b’ may be used uninitialized in this function [-Wmaybe-uninitialized]
44 | fa[tmp[0]][tmp[1]][tmp[2]] = find(array <int, 3> { min(b, c), max(b, c), (b > c) });
| ^
./Main.cpp:43:79: warning: ‘a’ may be used uninitialized in this function [-Wmaybe-uninitialized]
43 | array <int, 3> tmp = find(array <int, 3> { min(a, c), max(a, c), (a > c) });
| ^
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
1100 / 1100 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
01.txt, 02.txt, 03.txt |
| All |
01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, 61.txt, 62.txt, 63.txt, 64.txt, 65.txt, 66.txt, 67.txt, 68.txt, 69.txt, 70.txt, 71.txt, 72.txt, 73.txt, 74.txt, 75.txt, 76.txt, 77.txt, 78.txt, 79.txt, 80.txt, 81.txt, 82.txt, 83.txt, 84.txt, 85.txt, 86.txt, 87.txt, 88.txt, 89.txt, 90.txt, 91.txt, 92.txt, 93.txt, 94.txt, 95.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 01.txt |
AC |
8 ms |
3404 KiB |
| 02.txt |
AC |
5 ms |
3416 KiB |
| 03.txt |
AC |
2 ms |
3484 KiB |
| 04.txt |
AC |
2 ms |
3728 KiB |
| 05.txt |
AC |
2 ms |
3576 KiB |
| 06.txt |
AC |
1 ms |
3644 KiB |
| 07.txt |
AC |
2 ms |
3556 KiB |
| 08.txt |
AC |
2 ms |
3560 KiB |
| 09.txt |
AC |
2 ms |
3684 KiB |
| 10.txt |
AC |
3 ms |
3744 KiB |
| 11.txt |
AC |
2 ms |
3632 KiB |
| 12.txt |
AC |
2 ms |
3684 KiB |
| 13.txt |
AC |
2 ms |
3676 KiB |
| 14.txt |
AC |
2 ms |
3684 KiB |
| 15.txt |
AC |
2 ms |
3684 KiB |
| 16.txt |
AC |
2 ms |
3648 KiB |
| 17.txt |
AC |
2 ms |
3688 KiB |
| 18.txt |
AC |
2 ms |
3568 KiB |
| 19.txt |
AC |
2 ms |
3644 KiB |
| 20.txt |
AC |
2 ms |
3512 KiB |
| 21.txt |
AC |
2 ms |
3636 KiB |
| 22.txt |
AC |
2 ms |
3484 KiB |
| 23.txt |
AC |
2 ms |
3596 KiB |
| 24.txt |
AC |
2 ms |
3568 KiB |
| 25.txt |
AC |
2 ms |
3616 KiB |
| 26.txt |
AC |
2 ms |
3500 KiB |
| 27.txt |
AC |
2 ms |
3588 KiB |
| 28.txt |
AC |
2 ms |
3652 KiB |
| 29.txt |
AC |
1 ms |
3628 KiB |
| 30.txt |
AC |
2 ms |
3664 KiB |
| 31.txt |
AC |
2 ms |
3692 KiB |
| 32.txt |
AC |
2 ms |
3620 KiB |
| 33.txt |
AC |
2 ms |
3616 KiB |
| 34.txt |
AC |
2 ms |
3660 KiB |
| 35.txt |
AC |
2 ms |
3548 KiB |
| 36.txt |
AC |
2 ms |
3668 KiB |
| 37.txt |
AC |
2 ms |
3684 KiB |
| 38.txt |
AC |
22 ms |
4232 KiB |
| 39.txt |
AC |
19 ms |
4232 KiB |
| 40.txt |
AC |
22 ms |
4236 KiB |
| 41.txt |
AC |
16 ms |
4244 KiB |
| 42.txt |
AC |
16 ms |
4284 KiB |
| 43.txt |
AC |
18 ms |
4068 KiB |
| 44.txt |
AC |
21 ms |
4144 KiB |
| 45.txt |
AC |
17 ms |
4268 KiB |
| 46.txt |
AC |
18 ms |
4228 KiB |
| 47.txt |
AC |
19 ms |
4256 KiB |
| 48.txt |
AC |
18 ms |
4232 KiB |
| 49.txt |
AC |
19 ms |
4268 KiB |
| 50.txt |
AC |
22 ms |
4128 KiB |
| 51.txt |
AC |
19 ms |
4252 KiB |
| 52.txt |
AC |
18 ms |
4128 KiB |
| 53.txt |
AC |
23 ms |
4176 KiB |
| 54.txt |
AC |
17 ms |
4360 KiB |
| 55.txt |
AC |
21 ms |
4288 KiB |
| 56.txt |
AC |
19 ms |
4248 KiB |
| 57.txt |
AC |
19 ms |
4248 KiB |
| 58.txt |
AC |
23 ms |
4232 KiB |
| 59.txt |
AC |
16 ms |
4240 KiB |
| 60.txt |
AC |
22 ms |
4288 KiB |
| 61.txt |
AC |
16 ms |
4248 KiB |
| 62.txt |
AC |
29 ms |
4300 KiB |
| 63.txt |
AC |
18 ms |
4308 KiB |
| 64.txt |
AC |
19 ms |
4324 KiB |
| 65.txt |
AC |
21 ms |
4320 KiB |
| 66.txt |
AC |
651 ms |
7368 KiB |
| 67.txt |
AC |
665 ms |
7296 KiB |
| 68.txt |
AC |
650 ms |
7204 KiB |
| 69.txt |
AC |
646 ms |
7200 KiB |
| 70.txt |
AC |
757 ms |
7292 KiB |
| 71.txt |
AC |
666 ms |
7344 KiB |
| 72.txt |
AC |
695 ms |
7348 KiB |
| 73.txt |
AC |
666 ms |
7352 KiB |
| 74.txt |
AC |
781 ms |
7448 KiB |
| 75.txt |
AC |
680 ms |
7244 KiB |
| 76.txt |
AC |
693 ms |
7376 KiB |
| 77.txt |
AC |
735 ms |
7176 KiB |
| 78.txt |
AC |
734 ms |
7148 KiB |
| 79.txt |
AC |
732 ms |
7348 KiB |
| 80.txt |
AC |
714 ms |
7184 KiB |
| 81.txt |
AC |
719 ms |
7180 KiB |
| 82.txt |
AC |
715 ms |
7304 KiB |
| 83.txt |
AC |
680 ms |
7188 KiB |
| 84.txt |
AC |
686 ms |
7324 KiB |
| 85.txt |
AC |
840 ms |
7340 KiB |
| 86.txt |
AC |
701 ms |
7212 KiB |
| 87.txt |
AC |
702 ms |
7228 KiB |
| 88.txt |
AC |
682 ms |
7224 KiB |
| 89.txt |
AC |
700 ms |
7300 KiB |
| 90.txt |
AC |
720 ms |
7472 KiB |
| 91.txt |
AC |
716 ms |
7260 KiB |
| 92.txt |
AC |
715 ms |
7400 KiB |
| 93.txt |
AC |
720 ms |
7372 KiB |
| 94.txt |
AC |
716 ms |
7376 KiB |
| 95.txt |
AC |
716 ms |
7376 KiB |