这个题怎么做?用C++编写
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
const int maxn=50+10;
const int maxm=50+10;
int n,m;
int number[maxm];
bool use[maxm];
init()
{
memset(use, 0, sizeof(use));
memset(number, 0, sizeof(number));
}
void findans()
{
int ai, bi;
for(int i=0;i<n;i++)
{
scanf("%d%d",&ai,&bi);
if(!use[ai])
{
use[ai] = true; number[ai]++;
}
else if(!use[bi])
{
use[bi] = true; number[bi]++;
}
else
{
if(number[ai]<=number[bi])
number[ai]++;
else
number[bi]++;
}
}
int ans = 0;
for(int i = 1; i <= m; i++)
{
ans += number[i] * number[i];
}
printf("%d ", ans);
}
int main()
{
freopen("in.txt", "r", stdin);
while(scanf("%d%d",&n,&m)==2&&n)
{
init();
findans();
}
return 0;
}
//试试这份代码行不行
上一篇:c++是写什么的?