Submission #2949195
Source Code Expand
#include <iostream> #include <algorithm> #include <vector> #include <queue> #include <deque> #include <set> #include <map> #include <unordered_map> #include <functional> #include <cstring> #include <cmath> #include <ctime> #include <cstdlib> using namespace std; typedef long long llong; typedef long double ld; typedef pair<int, int> pii; typedef pair<llong, llong> pll; int n, m; struct bigint { unsigned int x[16]; bigint() { for (int i = 0; i < 16; ++i) x[i] = 0; } void operator|=(const bigint &p) { for (int i = 0; i < 16; ++i) { x[i] |= p.x[i]; } } void set(int i) { x[i >> 5] |= (1u << (i & 31)); } int get(int i) { return (x[i >> 5] >> (i & 31)) & 1; } bool operator==(const bigint &p) const { for (int i = 0; i < 16; ++i) if (x[i] != p.x[i]) return 0; return 1; } } es[500], edge[64][1 << 8]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> n >> m; for (int i = 0; i < m; ++i) { int a, b; cin >> a >> b; --a; --b; es[a].set(b); } for (int i = 0; i < 64; ++i) { for (int j = 0; j < (1 << 8); ++j) { for (int k = 0; k < 8; ++k) { if ((j >> k) & 1) { edge[i][j] |= es[i << 3 | k]; } } } } bigint st, tp, ed, zr; st.set(0); for (int i = 0; i < n; ++i) ed.set(i); for (int it = 0; it < n * n + 2; ++it) { if (st == ed) { printf("%d\n", it); return 0; } for (int i = 0; i < 64; ++i) { int x = 0; for (int j = 0; j < 8; ++j) { if (st.get(i << 3 | j)) x |= (1 << j); } tp |= edge[i][x]; } st = tp; tp = zr; } printf("-1\n"); return 0; }
Submission Info
Submission Time | |
---|---|
Task | I - Revenge of the Endless BFS |
User | imeimi2000 |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1926 Byte |
Status | RE |
Exec Time | 125 ms |
Memory | 1280 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 0 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample_00, 00_sample_01, 00_sample_02, 10_small_0, 10_small_1, 10_small_2, 10_small_3, 10_small_4, 20_random_0, 20_random_1, 20_random_2, 20_random_3, 20_random_4, 20_random_5, 20_random_6, 20_random_7, 20_random_8, 20_random_9, 90_cycle_like_0, 90_cycle_like_1, 90_cycle_like_2, 90_cycle_like_3, 90_cycle_like_4, 91_cycle_like_dense_0, 91_cycle_like_dense_1, 91_cycle_like_dense_2, 91_cycle_like_dense_3, 91_cycle_like_dense_4, 91_cycle_like_dense_5, 91_cycle_like_dense_6, 91_cycle_like_dense_7, 91_cycle_like_dense_8, 91_cycle_like_dense_9, 99_ng_max_dense_0, 99_ng_max_odd_prime_0, 99_ng_max_odd_prime_dense_0, 99_ng_max_odd_prime_dense_1, 99_ng_max_odd_prime_dense_2, 99_ng_max_odd_prime_dense_3, 99_ng_max_odd_prime_dense_4, 99_ng_max_prime_0, 99_ok_max_0 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00 | RE | 98 ms | 1280 KB |
00_sample_01 | RE | 98 ms | 1280 KB |
00_sample_02 | RE | 99 ms | 1280 KB |
10_small_0 | RE | 99 ms | 1280 KB |
10_small_1 | RE | 98 ms | 1280 KB |
10_small_2 | RE | 98 ms | 1280 KB |
10_small_3 | RE | 99 ms | 1280 KB |
10_small_4 | RE | 98 ms | 1280 KB |
20_random_0 | RE | 99 ms | 1280 KB |
20_random_1 | RE | 99 ms | 1280 KB |
20_random_2 | RE | 103 ms | 1280 KB |
20_random_3 | RE | 100 ms | 1280 KB |
20_random_4 | RE | 99 ms | 1280 KB |
20_random_5 | RE | 112 ms | 1280 KB |
20_random_6 | RE | 124 ms | 1280 KB |
20_random_7 | RE | 101 ms | 1280 KB |
20_random_8 | RE | 104 ms | 1280 KB |
20_random_9 | RE | 99 ms | 1280 KB |
90_cycle_like_0 | RE | 99 ms | 1280 KB |
90_cycle_like_1 | RE | 101 ms | 1280 KB |
90_cycle_like_2 | RE | 98 ms | 1280 KB |
90_cycle_like_3 | RE | 99 ms | 1280 KB |
90_cycle_like_4 | RE | 99 ms | 1280 KB |
91_cycle_like_dense_0 | RE | 122 ms | 1280 KB |
91_cycle_like_dense_1 | RE | 98 ms | 1280 KB |
91_cycle_like_dense_2 | RE | 99 ms | 1280 KB |
91_cycle_like_dense_3 | RE | 100 ms | 1280 KB |
91_cycle_like_dense_4 | RE | 118 ms | 1280 KB |
91_cycle_like_dense_5 | RE | 101 ms | 1280 KB |
91_cycle_like_dense_6 | RE | 114 ms | 1280 KB |
91_cycle_like_dense_7 | RE | 103 ms | 1280 KB |
91_cycle_like_dense_8 | RE | 105 ms | 1280 KB |
91_cycle_like_dense_9 | RE | 108 ms | 1280 KB |
99_ng_max_dense_0 | RE | 125 ms | 1280 KB |
99_ng_max_odd_prime_0 | RE | 98 ms | 1280 KB |
99_ng_max_odd_prime_dense_0 | RE | 120 ms | 1280 KB |
99_ng_max_odd_prime_dense_1 | RE | 113 ms | 1280 KB |
99_ng_max_odd_prime_dense_2 | RE | 125 ms | 1280 KB |
99_ng_max_odd_prime_dense_3 | RE | 122 ms | 1280 KB |
99_ng_max_odd_prime_dense_4 | RE | 109 ms | 1280 KB |
99_ng_max_prime_0 | RE | 98 ms | 1280 KB |
99_ok_max_0 | RE | 99 ms | 1280 KB |