1 条题解
-
-2
貌似没有人提交题解,我来一个吧,发现没有题解的题通过率那么低。
#include<bits/stdc++.h> using namespace std; int n,m,cnt=0; vector<int> eg[2005][2005]; bool *ex[2005][2005]; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ int u,v,w; scanf("%d%d%d",&u,&v,&w); eg[u][v].emplace_back(w); if(ex[v][w]==nullptr){ ex[v][w]=new bool[2005]; memset(ex[v][w],0,2005); } ex[v][w][u]=1; } for(int a=1;a<n;a++) for(int b=a+1;b<=n;b++){ sort(eg[a][b].begin(),eg[a][b].end()); for(int cc=0;cc<eg[a][b].size();cc++) for(int dd=cc+1;dd<eg[a][b].size();dd++){ int c=eg[a][b][cc],d=eg[a][b][dd]; if(ex[c][d]!=nullptr && ex[c][d][a] && ex[c][d][b]) cnt++; } } cout<<cnt<<endl; return 0; }
代码自己理解,保证全AC
信息
- ID
- 43
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 4
- 标签
- 递交数
- 742
- 已通过
- 93
- 上传者