Problem Description
有向图G的顶点值为字符型且互不相等,采用邻接矩阵存储。请输出给定顶点的入度。
Input
有多组测试数据,每组的第一行为两个整数n和e,表示n个顶点和e条边(0<n<20);第二行为n个顶点的值,按输入顺序从下标0开始存储;接下来有e行,表示e条边的信息,每行表示一条边所依附的两个顶点的下标i和j,中间用空格隔开;最后一行为给定顶点值(该顶点一定存在)。
Output
每组输出占一行,输出该顶点的入度。
Sample Input
4 4
ABCD
0 1
0 3
1 2
1 3
A
4 4
ABCD
0 1
0 3
1 2
1 3
B
Sample Output
0
1
#include<iostream>
using namespace std;
int main()
{
int n,e,j,i,k,index,arc[21][21];
char q;
char V[21];
while(cin>>n>>e>>V)
{
memset(arc,0,sizeof(arc));
for(k=0;k<e;k++)
{
cin>>i>>j;
arc[i][j]=1;
}
cin>>q;
for(i=0;i<n;i++)
{
if(V[i]==q)
index=i;
}
int sum=0;
for(i=0;i<n;i++)
{
sum+=arc[i][index];
}
cout<<sum<<endl;
}
return 0;
}