题目链接
比赛时题目理解不太透彻,结合样例和我理解的题意就试了试,没想到竟然AC了
#include <iostream>
#include <algorithm>
#include <cmath>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
int t,n,m,u[505],v[505],edg[505][505];
int vis[505][505];
cin>>t;
while(t--)
{
cin>>n>>m;
memset(edg,0,sizeof(edg));
memset(vis,0,sizeof(vis));
for(int i=1; i<=m; i++)
{
cin>>u[i];
}
for(int i=1; i<=m; i++)
{
cin>>v[i];
edg[u[i]][v[i]] = edg[v[i]][u[i]] = 1;
}
int num=0;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
if(i!=j&&edg[i][j]&&!vis[i][j])
{
num++;
vis[i][j] = vis[j][i] = 1;
}
}
}
printf("%.3lf\n",num*1.0/n);
}
return 0;
}