SWUSTOJ #1059 有向图的最大出度计算
题目
假设有向图G采用邻接表存储,求出图G中出度最大的顶点,并输出顶点的编号(有多个结果的都要输出)。(顶点的数据元素为整型数据。)
输入
第一行为图中顶点的个数n; 第二行为图的边的条数e; 第三行为依附于一条边的两个顶点信息。
输出
图G中出度的最大值以及顶点编号。第一行表示最大出度,第二行表示所有顶点的编号。
样例输入
5
6
0 1
0 3
1 2
1 3
4 0
4 3
样例输出
2
014
源代码
#include <iostream>
using namespace std;
int main()
{
int count[1000];
for (int i = 0; i < 1000; i++)
{
count[i] = 0;
}
int n;
cin >> n;
int m;
cin >> m;
int arr[1000][2];
for (int i = 0; i < m; i++)
{
cin >> arr[i][0];
cin >> arr[i][1];
count[arr[i][0]]++;
}
int max = 0;
int arr1[100];
int j = 0;
for (int i = 0; i < n; i++)
{
if (count[i] >= max)
max = count[i];
}
for (int i = 0; i < n; i++)
{
if (count[i] == max)
{
arr1[j] = i;
j++;
}
}
cout << max << endl;
for (int i = 0; i < j; i++)
{
cout << arr1[i];
}
return 0;
}