题目描述
有 n 个人,编号为 1~n。其中有一些人相互认识,现在 x 想要认识 y,可以通过他所认识的人来认识更多的人(如果 a 认识 b、b 认识 c,那么 a 可以通过 b 来认识 c),现在先求出 x目前认识多少人。
输入
第 1 行 3 个正整数 n其中:n≤100。
接下来是一个 n×n 的邻接矩阵,a[i][j]=1 表示 i 认识 j,a[i][j]=0 表示 i 不认识 j。保证 i=j 时,a[i][j]=0,并且 a[i][j]=a[j][i],一行中的两个数之间有一个空格。
最后一行输入一个整数x,1≤x≤n
输出
输出一行一个数,表示 x 认识多少人。
样例输入
5 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1
样例输出
1
提示
来源
#include<bits/stdc++.h>
using namespace std;
int a[105][105];int n,m,x,y,s=0,dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){cin>>a[i][j];}}
cin>>x;
for(int i=1;i<=n;i++){
if(a[x][i]==1){s+=1;}
}cout<<s;
return 0;}