【九度OJ】1180:对称矩阵

来源:互联网 发布:怎么登录js邮箱 编辑:程序博客网 时间:2024/05/16 11:35

地址:
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 = 1int 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****************************************************************/
原创粉丝点击