题目如下:
先挖个坑,稍后来写解题思路。。。
来填坑了
本题采用二维数组a[i][j]下表代表用户i关注了j,数组的值为1代表该关注关系成立,且a[i][i]=1永远成立,然后统计被关注的总数,若为N,即是网红。
代码如下:
#include <iostream>
using namespace std;
int main()
{
int N, M, A, B, a[101][101] = { 0 },cnt=0,sum;
cin >> N;
cin >> M;
while (M--)
{
scanf("%d %d", &A, &B);
a[A][B] = 1;
}
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= N; j++)
{
if (a[i][j] && a[j][j + 1])
a[i][j + 1] = 1;
else if (i == j)
a[i][j] = 1;
}
}
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= N; j++)
{
cout << a[i][j]<<' ';
}
cout << endl;
}
for (int i = 1; i <= N; i++)
{
sum = 0;
for (int j = 1; j <= N; j++)
{
sum=sum+a[j][i];
}
if(sum==N)
cnt++;
}
cout << cnt<<endl;
system("pause");
return 0;
}