2 条题解
-
0
#include <bits/stdc++.h> using namespace std; bool f[110][110]; int main() { int n, m;scanf("%d%d", &n, &m); memset(f, 0, sizeof(f)); for(int i=1, x, y; i<=m; i++) { scanf("%d%d", &x, &y); f[x][y] = true; } for(int k=1; k<=n; k++) for(int i=1; i<=n; i++) if(i != k) for(int j=1; j<=n; j++) if(j != k && j != i) if(f[i][k] && f[k][j]) f[i][j] = true; int ans = 0; for(int i=1; i<=n; i++) { int sum = 0; for(int j=1; j<=n; j++) if(f[i][j] || f[j][i]) sum++; if(sum == n-1) ans++; } printf("%d", ans); return 0; } -
0
#include<bits/stdc++.h> using namespace std; bool f[110][110]; int main() { int n,m;scanf("%d%d",&n,&m); memset(f,0,sizeof(f)); for(int i=1,x,y;i<=m;i++) { scanf("%d%d",&x,&y); f[x][y]=True; } for(int k=1;k<=n;k++) for(int i=1;i<=n;i++)if(i!=k) for(int j=1;j<=n;j++)if(j!=k&&j!=i) if(f[i][k]&&f[k][j]) f[i][j]=True; int ans=0; for(int i=1;i<=n;i++) { int sum=0; for(int j=1;j<=n;j++)if(f[i][j]||f[j][i])sum++; if(sum==n-1)ans++; } printf("%d",ans); return 0; }
- 1
信息
- ID
- 2276
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 17
- 已通过
- 15
- 上传者