QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#304450#8011. Instituteucup-team2235#RE 1ms3648kbC++171.2kb2024-01-13 19:54:252024-01-13 19:54:26

Judging History

你现在查看的是最新测评结果

  • [2024-01-13 19:54:26]
  • 评测
  • 测评结果:RE
  • 用时:1ms
  • 内存:3648kb
  • [2024-01-13 19:54:25]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int main(){
  ios::sync_with_stdio(false);
  int n,m; cin>>n>>m;
  vector<vector<int> > g(n),g2(n);
  set<tuple<int,int,int> > e;
  for(int i=0;i<m;i++){
    int u,v,w; cin>>u>>v>>w;
    if(e.find(make_tuple(u,v,w))==e.end()){
      e.emplace(u,v,w);
      g[--u].emplace_back(--v);
      if(w>1)g2[u].emplace_back(v);
    }
  }
  vector<bool> b(n),b2(n),b3(n),lp(n);
  set<int> s;
  queue<int> q; q.emplace(0),b[0]=true;
  while(!q.empty()){
    int u=q.front(); s.emplace(u),q.pop();
    for(int i:g[u])
      if(!b[i])b[i]=true,q.emplace(i);
  }
  q.emplace(0),b2[0]=true;
  bool f=false;
  while(!q.empty()){
    int u=q.front(); s.erase(u),q.pop();
    for(int i:g2[u]){
      if(!b[i])b[i]=true,q.emplace(i);
      if(!i)f=true;
    }
  }
  if(f)cout<<"Yes\n",exit(0);
  for(int i:s){
    vector<int> v;
    function<void(int)> dfs=[&](int u){
      if(b3[u]){
        if(v.empty())return;
        for(int i=v.size()-1;v[i]!=u;i--)
          lp[v[i]]=true;
        lp[u]=true;
        return;
      }
      v.emplace_back(u),b3[u]=true;
      for(int i:g2[u])dfs(i);
      v.pop_back();
    };
    if(dfs(i);!lp[i])cout<<"Yes\n",exit(0);
  }
  cout<<"No\n";
  return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3492kb

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: 3520kb

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: 1ms
memory: 3648kb

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: -100
Runtime Error

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:


result: