NC219030. 统计个数
描述
输入描述
第一行一个正整数,代表测试数据的组数
第二行给出一个正整数,代表点数,图的节点编号为
第三行给出一个正整数,代表图中的边数
接下来M行每行给出两个正整数,代表之间有边相连
题目保证图中至少存在一条线并且不存在重边和自环
输出描述
对于每组数据请输出一个分数代表三角和线数量的比,格式为,(其中p为三倍的三角的数量,q为线的数量)
请输出最简分数,若,则输出。
示例1
输入:
3 5 7 1 2 2 3 1 3 3 4 2 4 4 5 1 5 3 3 1 2 3 1 3 2 4 3 1 2 2 3 3 4
输出:
6/13 1/1 0/1
C++(clang++11) 解法, 执行用时: 89ms, 内存消耗: 864K, 提交时间: 2021-05-12 23:22:36
#include<bits/stdc++.h> using namespace std; void init(){ int n,m; cin>>n>>m; int a[210][210]; memset(a,0,sizeof a); while(m--){ int x,y; cin>>x>>y; if(x!=y) a[x][y]=a[y][x]=1; } int suma=0,sumb=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++){ if(a[i][j]&&a[j][k]&&i!=k){ suma++; if(a[i][k]) sumb++; } } if(sumb==0) cout<<"0/1\n"; else{ int x=__gcd(suma,sumb); cout<<sumb/x<<"/"<<suma/x<<endl; } } int main(){ int t; cin>>t; while(t--) init(); }