【九度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 日