西南科技大學OJ題 有向圖的k出度計算1061

有向圖的k出度計算

 5000(ms)

 10000(kb)

 2352 / 3722

假設有向圖G採用鄰接矩陣存儲,計算圖G中出度爲k的頂點數量,並輸出頂點的編號。

輸入

第一行第一個整數n表示頂點的個數(頂點編號爲0到n-1),第二個數表示出度k,接下來是爲一個n*n大小的整數矩陣,表示圖的鄰接關係。數字爲0表示不鄰接,1表示不鄰接。

輸出

圖G中出度爲k頂點數量以及頂點編號。第一行表示出度爲k頂點數量,第二行表示頂點的編號。

樣例輸入

5 2
0 1 0 1 0
0 0 1 1 0
0 0 0 0 0
0 0 0 0 0
1 0 0 1 0

樣例輸出

3
014

 

#include<stdio.h>
void CreateMap(int n,int edges[100][100])//創建鄰接矩陣 
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        scanf("%d",&edges[i][j]);
    }
}
int main()
{
    int edges[100][100];
    int n,k;
    scanf("%d %d",&n,&k);
    CreateMap(n,edges);
    int t=0;
    for(int i=0;i<n;i++)//統計度爲k的個數 
    {
        int sum=0;
        for(int j=0;j<n;j++)
        {
            sum+=edges[i][j];
        }
        if(sum==k) t++;
    }
    printf("%d\n",t);
    for(int i=0;i<n;i++)//輸出度爲k的序號 
    {
        int sum=0;
        for(int j=0;j<n;j++)
        {
            sum+=edges[i][j];
        }
        if(sum==k) printf("%d",i);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章