BC131. 矩阵相等判定
描述
KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。(当两个矩阵对应数组元素都相等时两个矩阵相等)。
输入描述
第一行包含两个整数n和m,表示两个矩阵包含n行m列,用空格分隔。
从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
输出描述
一行,如果两个矩阵相等输出"Yes"并换行,否则输出"No"并换行。示例1
输入:
2 2 1 2 3 4 1 2 3 4
输出:
Yes
C 解法, 执行用时: 1ms, 内存消耗: 308KB, 提交时间: 2021-07-26
#include <stdio.h> int main() { int n,m,flag=1; scanf("%d%d",&n,&m); int a[n][m],b[n][m]; for(int i=0;i<n;i++) { for(int j=0; j<m; j++) { scanf("%d",&a[i][j]); } } for(int i=0;i<n;i++) { for(int j=0; j<m; j++) { scanf("%d",&b[i][j]); } } for(int i=0;i<n;i++) { for(int j=0; j<m; j++) { if(a[i][j] != b[i][j]) { flag = 0; } } } if(flag) { printf("Yes"); } else { printf("No"); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 332KB, 提交时间: 2021-09-08
#include<stdio.h> int main(){ int m,n; scanf("%d %d",&m,&n); int arr1[m][n]; int arr2[m][n]; int i,j; for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",&arr1[i][j]); } } int flag=1; for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",&arr2[i][j]); if(arr1[i][j]!=arr2[i][j]){ flag=0; break; } } } if(flag==1) printf("Yes\n"); else printf("No\n"); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 332KB, 提交时间: 2021-09-08
#include<stdio.h> int main() { int n,m,flag=1; scanf("%d%d",&n,&m); int arr[2*n][m]; for(int i=0;i<2*n;i++) { for(int j=0;j<m;j++) { scanf("%d",&arr[i][j]); } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(arr[i][j]==arr[i+n][j]) { flag=1; } else { flag=0; break; } } } if(flag) { printf("Yes\n"); } else { printf("No\n"); } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 332KB, 提交时间: 2021-08-01
#include <stdio.h> int main() { long arr[20] = {0}; long arr1[20] = {0}; int n = 0; int m = 0; scanf("%d %d", &n, &m); int j = 0; for (j = 0; j < n*m; j++) { scanf("%d", &arr[j]); } for (j = 0; j < n*m; j++) { scanf("%d", &arr1[j]); } int flag = 1; int i = 0; for (i = 0; i < n*m; i++) { if (arr[i] != arr1[i]) { flag = 0; break; } } if (flag == 1) printf("Yes\n"); else printf("No\n"); return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 336KB, 提交时间: 2021-08-01
//矩阵相等判断 #include<stdio.h> int main() { int n, m = 0; int flag = 1; scanf("%d %d", &n, &m); int a[10][10] = { 0 }; int b[10][10] = { 0 }; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { scanf("%d", &a[i][j]); } } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { scanf("%d", &b[i][j]); } } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (a[i][j] != b[i][j]) { flag = 0; } } } if (flag) { printf("Yes\n"); } else { printf("No\n"); } return 0; }