QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#351146 | #8011. Institute | SolitaryDream# | WA | 3ms | 17936kb | C++17 | 1.4kb | 2024-03-11 17:04:10 | 2024-03-11 17:04:10 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 10;
int n, m;
vector<int> g[N], g2[N];
int dfn[N], low[N], dclk;
int col[N], colnum;
int ins[N];
stack<int> sta;
inline void Tarjan(int x) {
dfn[x] = low[x] = ++dclk;
sta.push(x); ins[x] = 1;
for (auto y : g[x])
if (!dfn[y]) Tarjan(y), low[x] = min(low[x], low[y]);
else if (ins[y]) low[x] = min(low[x], dfn[y]);
if (low[x] == dfn[x]) {
col[x] = ++colnum;
ins[x] = 0;
while (sta.top() != x) {
col[sta.top()] = x;
ins[sta.top()] = 0;
sta.pop();
}
sta.pop();
}
}
int valid[N], vis[N];
inline void Dfs(int x) {
if (valid[col[x]]) {
cout << "Yes" << endl;
exit(0);
}
vis[x] = 1;
for (auto y : g[x]) if (!vis[y]) Dfs(y);
for (auto y : g2[x]) if (!vis[y]) Dfs(y);
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin >> n >> m;
for (int i = 1, x, y, z; i <= m; ++i) {
cin >> x >> y >> z;
if (z == 2) g[x].push_back(y);
else g2[x].push_back(y);
}
for (int i = 1; i <= n; ++i) if (!dfn[i]) {
Tarjan(i);
}
for (int x = 1; x <= n; ++x)
for (auto y : g[x])
if (col[y] != col[x])
valid[col[x]] = 1;
Dfs(1);
cout << "No" << endl;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 3ms
memory: 17868kb
input:
3 4 1 2 1 2 3 2 3 2 1 3 1 2
output:
Yes
result:
ok answer is YES
Test #2:
score: 0
Accepted
time: 0ms
memory: 17700kb
input:
6 8 1 2 1 2 3 2 3 2 2 3 4 1 4 1 2 1 5 2 5 4 2 6 1 2
output:
No
result:
ok answer is NO
Test #3:
score: 0
Accepted
time: 0ms
memory: 17740kb
input:
1000 1000 141 466 1 634 659 1 179 96 2 445 344 2 993 974 1 310 114 2 32 333 1 758 832 1 834 1 1 874 825 2 480 61 2 765 100 2 804 616 1 496 545 1 786 261 2 899 263 1 962 237 2 766 807 1 561 583 1 35 425 1 201 291 1 6 142 1 61 386 2 785 861 2 386 986 2 288 769 2 850 209 1 660 259 2 258 143 2 646 715 2...
output:
Yes
result:
ok answer is YES
Test #4:
score: 0
Accepted
time: 0ms
memory: 17704kb
input:
1000 3000 719 279 2 857 23 1 984 625 2 904 509 2 892 456 2 589 195 2 718 932 2 608 363 1 474 672 1 217 993 2 165 895 2 727 329 2 932 404 2 952 146 2 201 272 2 412 895 2 228 267 2 396 365 2 813 794 2 259 250 1 968 764 2 100 76 2 924 665 2 981 931 2 292 975 2 903 649 2 793 101 2 54 703 1 853 58 2 356 ...
output:
Yes
result:
ok answer is YES
Test #5:
score: -100
Wrong Answer
time: 0ms
memory: 17936kb
input:
1000 3000 686 470 2 132 418 2 775 962 2 814 8 2 450 767 2 580 243 2 742 534 2 508 304 2 396 513 2 731 385 2 499 309 2 144 150 2 111 209 2 340 189 1 219 755 2 511 655 2 428 941 2 165 707 2 253 619 2 140 766 2 999 132 2 415 101 2 887 192 2 598 262 2 312 675 1 97 527 2 407 179 2 11 154 1 107 996 2 586 ...
output:
Yes
result:
wrong answer expected NO, found YES