【九度OJ】题目1180:对称矩阵 解题报告

【九度OJ】题目1180:对称矩阵 解题报告

标签(空格分隔): 九度OJ


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!

Ways

不要看到矩阵的题目就害怕,这个题其实很简单,只要遍历下三角部分就行了。比如样例中的4*4矩阵,我只要遍历以下元素即可。那么就是典型的三角形问题。简单。

19 
16 14 
6  5  3 
#include<stdio.h>

int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        int nums[100][100];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                scanf("%d", &nums[i][j]);
            }
        }
        bool isForm = true;
        for (int i = 1; i < n; i++) {
            for (int j = 0; j < i; j++) {
                if (nums[i][j] != nums[j][i]) {
                    isForm = false;
                }
            }
        }
        if (isForm) {
            printf("Yes!\n");
        } else {
            printf("No!\n");
        }
    }
    return 0;
}

Date

2017 年 3 月 18 日

posted @ 2017-03-18 12:44  负雪明烛  阅读(32)  评论(0编辑  收藏  举报