生活随笔
收集整理的這篇文章主要介紹了
2000年华中科技大学计算机研究生机试真题 对称矩阵
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目1180:對稱矩陣
時間限制:1 秒
內存限制:32 兆
特殊判題:否
提交:2518
解決:1295
題目描述: 輸入一個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年華中科技大學計算機研究生機試真題 1 #include <iostream>
2 #include <cstring>
3 #include <cstdio>
4 using namespace std;
5 int map[
105][
105];
6 int main(){
7 //freopen("D:\\INPUT.txt","r",stdin);
8 int n;
9 while(cin>>
n){
10 int i,j;
11 for(i=
1;i<=n;i++
){
12 for(j=
1;j<=n;j++
){
13 scanf(
"%d",&
map[i][j]);
14 }
15 }
16 for(i=
1;i<=n;i++
){
17 for(j=
1;j<=n;j++
){
18 if(map[i][j]!=map[i][n-
j]){
19 i=n+
2;
20 break;
21 }
22 }
23 }
24 if(i==n+
1){
25 cout<<
"Yes!"<<
endl;
26 continue;
27 }
28 for(i=
1;i<=n;i++
){
29 for(j=
1;j<=n;j++
){
30 if(map[i][j]!=map[n-
i][j]){
31 i=n+
2;
32 break;
33 }
34 }
35 }
36 if(i==n+
1){
37 cout<<
"Yes!"<<
endl;
38 continue;
39 }
40
41 for(i=
1;i<=n;i++
){
42 for(j=
1;j<=n;j++
){
43 if(map[i][j]!=
map[j][i]){
44 i=n+
2;
45 break;
46 }
47 }
48 }
49 if(i==n+
1){
50 cout<<
"Yes!"<<
endl;
51 continue;
52 }
53
54 for(i=
1;i<=n;i++
){
55 for(j=
1;j<=n;j++
){
56 if(map[i][j]!=map[n-j][n-
i]){
57 i=n+
2;
58 break;
59 }
60 }
61 }
62 if(i==n+
1){
63 cout<<
"Yes!"<<
endl;
64 continue;
65 }
66 cout<<
"No!"<<
endl;
67 }
68 return 0;
69 }
?
轉載于:https://www.cnblogs.com/Deribs4/p/4599039.html
總結
以上是生活随笔為你收集整理的2000年华中科技大学计算机研究生机试真题 对称矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。