采用邻接表创建无向图G ,依次输出各顶点的度。
输入格式:
输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶点数和边数。
输入第二行为顶点的信息,每个顶点只能用一个字符表示。
依次输入j行,每行输入一条边依附的顶点。
输出格式:
依次输出各顶点的度,行末没有最后的空格。
输入样例:
5 7
ABCDE
AB
AD
BC
BE
CD
CE
DE
输出样例:
2 3 3 3 3
#include<bits/stdc++.h>
using namespace std;
const int N = 1e3+5;
int num[N];
//int h[N], e[N], ne[N], idx;
void add(int a, int b)
{
//e[idx]=b, ne[idx]=h[a], h[a]=idx++;
}
int main()
{
//memset(h, -1, sizeof h);
//idx=0;
map<char, int>mp;
int i, j;
cin >> i >> j;
char a, b;
getchar();
for(int k=1; k<=i; k++)
{
cin >> a;
mp[a]=k;
}
while(j--)
{
getchar();
cin >> a >> b;
//add(mp[a], mp[b]);
//add(mp[b], mp[a]);
num[mp[a]]++;
num[mp[b]]++;
}
for(int k=1; k<=i; k++)
{
if(k>1) cout << " ";
cout << num[k];
}
}