2000年科技计算机,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!

1 #include

2 #include

3 #include

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<

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<

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<

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<

64 continue;

65 }

66 cout<

67 }

68 return 0;

69 }

来源:https://www.cnblogs.com/Deribs4/p/4599039.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值