【九度OJ】1180:對稱矩陣

地址:
http://ac.jobdu.com/problem.php?pid=1180題目描述:
輸入一個N維矩陣,判斷是否對稱。
輸入:
輸入第一行包括一個數:N(1<=N<=100),表示矩陣的維數。
接下來的N行,每行包括N個數,表示N*N矩陣的元素。
輸出:
可能有多組測試數據,對於每組數據,
輸出”Yes!”表示矩陣爲對稱矩陣。
輸出”No!”表示矩陣不是對稱矩陣。
樣例輸入:
4
16 19 16 6
19 16 14 5
16 14 16 3
6 5 3 16
2
1 2
3 4
樣例輸出:
Yes!
No!
來源:
2000年華中科技大學計算機研究生機試真題

解題思路:
一開始看到這題,在看看測試數據,就想着要不要把沿着左上對角線,橫軸,縱軸爲對稱線的情況考慮進去,不過想到題目可能沒有這麼複雜,就只寫了沿右下對角線爲對稱線的情況,然後居然AC了,覺得題目很不嚴謹。

源碼:

#include<stdio.h>
 
int n;
int matrix[ 105 ][ 105 ];
int isSymmetry = 1;
 
int main(){
    while( scanf("%d", &n) != EOF ){
        for( int i = 0; i < n; i ++ ){
            for( int j = 0; j < n; j ++ ){
                scanf( "%d", &matrix[ i ][ j ] );
            }
        }
 
        isSymmetry = 1;
        for( int i = 0; i < n; i ++ ){
            for( int j = 0; j < n; j ++ ){
                if( matrix[ i ][ j ] != matrix[ j ][ i ] ){
                    isSymmetry = 0;
                }
            }
        }
 
        if( isSymmetry == 1){
            printf("Yes!\n");
        }
        else{
            printf("No!\n");
        }
    }
}
/**************************************************************
    Problem: 1180
    User: 螺小旋
    Language: C++
    Result: Accepted
    Time:20 ms
    Memory:1064 kb
****************************************************************/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章