QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#304012 | #8011. Institute | ucup-team1453# | WA | 7ms | 36296kb | C++14 | 1.9kb | 2024-01-13 11:22:32 | 2024-01-13 11:22:33 |
Judging History
answer
#include<bits/stdc++.h>
#define L(i, j, k) for(int i = (j); i <= (k); ++i)
#define R(i, j, k) for(int i = (j); i >= (k); --i)
#define ll long long
#define sz(a) ((int) (a).size())
#define vi vector < int >
#define me(a, x) memset(a, x, sizeof(a))
#define ull unsigned long long
#define ld __float128
#define pb emplace_back
using namespace std;
const int N = 1e6 + 7;
int n, m;
int vis[N], low[N], dfn[N], cnt, bh[N], top, stk[N], idt;
int ehd[N], ev[N], enx[N], eid;
void eadd(int u, int v) {
++eid, ev[eid] = v, enx[eid] = ehd[u], ehd[u] = eid;
}
vector < vi > nsame;
void dfs(int x) {
low[x] = dfn[x] = ++idt, stk[++top] = x, vis[x] = 1;
for(int i = ehd[x]; i; i = enx[i]) {
if(!dfn[ev[i]]) dfn[ev[i]] = dfn[x] + 1, dfs(ev[i]);
if(vis[ev[i]]) low[x] = min(low[x], low[ev[i]]);
}
if(dfn[x] == low[x]) {
++cnt;
vi qwq;
for(int u = 0; u != x; )
u = stk[top], bh[u] = cnt, vis[u] = 0, --top, qwq.emplace_back(u);
nsame.emplace_back(qwq);
}
}
void clear() {
eid = 0, cnt = 0, idt = 0;
L(i, 1, n) ehd[i] = 0, low[i] = dfn[i] = vis[i] = bh[i] = 0;
}
vector < pair < int, int > > e[N];
int nvis[N];
void solve1() {
queue < int > q;
q.push(1);
nvis[1] = 1;
while(!q.empty()) {
int u = q.front();
q.pop();
for(auto&v : e[u]) {
if(!vis[v.first]) {
vis[v.first] = 1;
q.push(v.first);
}
}
}
}
int main() {
ios :: sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> n >> m;
vector < pair < int, int > > vp;
L(i, 1, m) {
int u, v, t;
cin >> u >> v >> t;
e[u].pb(v, t);
if(t == 2)vp.pb(u, v), eadd(u, v);
}
L(i, 1, n) if(!dfn[i]) dfs(i);
L(i, 1, n) vis[i] = 0;
solve1();
for(auto&s : vp) {
if(vis[s.first] && vis[s.second] && bh[s.first] != bh[s.second]) {
// cout << s.first << ' ' << s.second << endl;
cout << "Yes\n";
return 0;
}
}
cout << "No\n";
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 36268kb
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: 7ms
memory: 36296kb
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: -100
Wrong Answer
time: 3ms
memory: 34604kb
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:
No
result:
wrong answer expected YES, found NO