图中每一个顶点的度定义为以该项点为一个端点的边的数目


- #include
-
- const int MAXN = 100;
-
- int degree[MAXN] = { 0 };
-
- int main() {
- int n, m, u, v;
- scanf("%d%d", &n, &m);
-
- //在输出边度的时候就已经表示度的数目了,所以用一个degree(hash思想进行直接 )
- for (int j = 0; j < m; j++) {
- scanf("%d%d", &u, &v);
- degree[u]++;
- degree[v]++;
- }
- for (int i = 0; i < n; i++) {
- printf("%d", degree[i]);
- if (i < n - 1) {
- printf(" ");
- }
- }
- return 0;
- }


- //有向图的入度数和出度数
- #include
-
- const int MAXN = 100;
- int inDegree[MAXN] = { 0 };//入度的条数
- int outDegree[MAXN] = { 0 };//出度的条数
-
- int main() {
- int n, m, u, v;
- scanf("%d%d", &n, &m);//n个顶点,m条边
- for (int j = 0; j < m; j++) {
- scanf("%d%d", &u, &v);
- outDegree[u]++;
- inDegree[v]++;
- }
- for (int i = 0; i < n; i++) {
- printf("%d %d\n", inDegree[i], outDegree[i]);
- }
- return 0;
- }