【九度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
****************************************************************/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章