Submission #1770165
Source Code Expand
#include "math.h" #include <algorithm> #include <complex> #include <cstdio> #include <iomanip> #include <iostream> #include <queue> #include <string> #include <vector> #define ifor(i, a, b) for (int i = (a); i < (b); i++) #define rfor(i, a, b) for (int i = (b)-1; i >= (a); i--) #define rep(i, n) for (int i = 0; i < (n); i++) #define rrep(i, n) for (int i = (n)-1; i >= 0; i--) using namespace std; typedef long double ld; typedef long long int lli; const double eps = 1e-11; int vex[4] = {1, 0, -1, 0}; int vey[4] = {0, 1, 0, -1}; lli MOD = 1000000007; #define UF_MAX 200005 struct ufind { int par[UF_MAX]; int rank[UF_MAX]; int count[UF_MAX]; ufind(int n) { rep(i, n) { par[i] = i; rank[i] = 0; count[i] = 1; } } int find(int x) { if (par[x] == x) { return x; } else { return par[x] = find(par[x]); } } void unite(int x, int y) { x = find(x); y = find(y); if (x == y) return; if (rank[x] < rank[y]) { par[x] = y; } else { par[y] = x; if (rank[x] == rank[y]) rank[x]++; } } bool same(int x, int y) { return find(x) == find(y); } }; int main() { int n, q; cin >> n >> q; int t, a, b, c; ufind uf(2 * n); rep(i, q) { cin >> t >> a >> b >> c; c %= 2; a--, b--; if (t == 1) { if (c) { uf.unite(a, n + b); uf.unite(b, n + a); } else { uf.unite(a, b); uf.unite(n + a, n + b); } } else { if (uf.same(a, b)) { cout << "YES" << endl; } else { cout << "NO" << endl; } } } }
Submission Info
Submission Time | |
---|---|
Task | D - 偶数メートル |
User | uenoku |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1989 Byte |
Status | AC |
Exec Time | 211 ms |
Memory | 2688 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt |
Subtask2 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 2 ms | 2304 KB |
subtask1_01.txt | AC | 5 ms | 2304 KB |
subtask1_02.txt | AC | 5 ms | 2304 KB |
subtask1_03.txt | AC | 6 ms | 256 KB |
subtask1_04.txt | AC | 4 ms | 256 KB |
subtask1_05.txt | AC | 4 ms | 256 KB |
subtask1_06.txt | AC | 4 ms | 256 KB |
subtask1_07.txt | AC | 5 ms | 2304 KB |
subtask1_08.txt | AC | 6 ms | 2304 KB |
subtask1_09.txt | AC | 7 ms | 256 KB |
subtask1_10.txt | AC | 7 ms | 384 KB |
subtask1_11.txt | AC | 7 ms | 384 KB |
subtask1_12.txt | AC | 7 ms | 384 KB |
subtask1_13.txt | AC | 7 ms | 384 KB |
subtask1_14.txt | AC | 7 ms | 2304 KB |
subtask1_15.txt | AC | 7 ms | 384 KB |
subtask1_16.txt | AC | 7 ms | 384 KB |
subtask1_17.txt | AC | 8 ms | 2304 KB |
subtask1_18.txt | AC | 8 ms | 2304 KB |
subtask1_19.txt | AC | 7 ms | 384 KB |
subtask1_20.txt | AC | 8 ms | 2304 KB |
subtask1_21.txt | AC | 7 ms | 384 KB |
subtask1_22.txt | AC | 7 ms | 384 KB |
subtask1_23.txt | AC | 7 ms | 384 KB |
subtask1_24.txt | AC | 7 ms | 384 KB |
subtask1_25.txt | AC | 7 ms | 384 KB |
subtask1_26.txt | AC | 7 ms | 384 KB |
subtask1_27.txt | AC | 8 ms | 2304 KB |
subtask1_28.txt | AC | 7 ms | 384 KB |
subtask1_29.txt | AC | 7 ms | 384 KB |
subtask2_01.txt | AC | 73 ms | 768 KB |
subtask2_02.txt | AC | 174 ms | 2560 KB |
subtask2_03.txt | AC | 13 ms | 1024 KB |
subtask2_04.txt | AC | 176 ms | 2560 KB |
subtask2_05.txt | AC | 75 ms | 2688 KB |
subtask2_06.txt | AC | 80 ms | 1920 KB |
subtask2_07.txt | AC | 158 ms | 2560 KB |
subtask2_08.txt | AC | 180 ms | 2048 KB |
subtask2_09.txt | AC | 110 ms | 1280 KB |
subtask2_10.txt | AC | 205 ms | 2688 KB |
subtask2_11.txt | AC | 205 ms | 2688 KB |
subtask2_12.txt | AC | 208 ms | 2688 KB |
subtask2_13.txt | AC | 204 ms | 2688 KB |
subtask2_14.txt | AC | 205 ms | 2688 KB |
subtask2_15.txt | AC | 206 ms | 2688 KB |
subtask2_16.txt | AC | 206 ms | 2688 KB |
subtask2_17.txt | AC | 205 ms | 2688 KB |
subtask2_18.txt | AC | 210 ms | 2688 KB |
subtask2_19.txt | AC | 204 ms | 2688 KB |
subtask2_20.txt | AC | 211 ms | 2688 KB |
subtask2_21.txt | AC | 130 ms | 2560 KB |
subtask2_22.txt | AC | 131 ms | 2560 KB |
subtask2_23.txt | AC | 131 ms | 2560 KB |
subtask2_24.txt | AC | 137 ms | 2560 KB |
subtask2_25.txt | AC | 130 ms | 2560 KB |
subtask2_26.txt | AC | 135 ms | 2560 KB |
subtask2_27.txt | AC | 135 ms | 2560 KB |
subtask2_28.txt | AC | 137 ms | 2560 KB |
subtask2_29.txt | AC | 130 ms | 2560 KB |
subtask2_30.txt | AC | 195 ms | 1536 KB |