西南科技大學OJ題 帶權無向圖存儲判定1064

帶權無向圖存儲判定

 5000(ms)

 10000(kb)

 2334 / 4005

假設無向圖G採用鄰接矩陣存儲,判斷輸入數據格式是否正確(即是否爲對稱矩陣)。

輸入

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

輸出

yes(正確),no(錯誤)。

樣例輸入

5
0 6 -1 22 1
6 0 1 1 -1
-1 1 0 1 1
22 1 1 0 9
1 -1 1 9 0

樣例輸出

yes

 

 

#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;int max=0,min=999;//初始化最大值和最小值 
    scanf("%d",&n);
    CreateMap(n,edges);
    int t=0;//設置標記 
    for(int i=0;i<n;i++)//比較是否爲對稱矩陣,並且主對角線爲0 
    {
        for(int j=0;j<n;j++)
        {
            if(i==j)
            {
                if(edges[i][j]!=0) t=1;
            }
            else
            {
                if(edges[i][j]!=edges[j][i]) t=1;
            }
        }
    }
    if(t==0) printf("yes");
    else printf("no");
}

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