KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。(当两个矩阵对应数组元素都相等时两个矩阵相等)。
KiKi得到了两个n行m列的矩阵,他想知道两个矩阵是否相等,请你回答他。(当两个矩阵对应数组元素都相等时两个矩阵相等)。
第一行包含两个整数n和m,表示两个矩阵包含n行m列,用空格分隔。
从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。
从n+2行到2n+1,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第二个矩阵中的元素。1 < n,m < 10
一行,如果两个矩阵相等输出"Yes"并换行,否则输出"No"并换行。
2 2 1 2 3 4 1 2 3 4
Yes
int main(){
int n, m;
int arr[10][10];
int brr[10][10];
scanf("%d %d", &n, &m);
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
scanf("%d ", &arr[i][j]);
}
}
int p = 1;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
scanf("%d ", &brr[i][j]);
if(brr[i][j] != arr[i][j]){
p = 0;
break;
}
}
}
if(p != 0)
printf("Yes\n");
else
printf("No\n");
return 0;
} import java.util.*;
import java.io.*;
public class Main{
public static void main(String[] args) throws IOException{
Scanner input = new Scanner(System.in);
int row = input.nextInt();
int col = input.nextInt();
int totalNumOfElement = row * col;
int[] data = new int[2 * totalNumOfElement];
for(int i = 0; i < data.length; i++){
data[i] = input.nextInt();
}
boolean flag = true;
for(int i = 0, j = totalNumOfElement; i < totalNumOfElement; i++, j++){
if(data[i] != data[j]){
flag = false;
}
}
System.out.println(flag ? "Yes" : "No");
}
} #include <stdio.h>
int main()
{
int a[15][15],b[15][15];
int i,j,n,m,flag=1;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&b[i][j]);
if(a[i][j]!=b[i][j]) flag=0;
}
}
if(flag) printf("Yes\n");
else printf("No\n");
} #include <stdio.h>
#include<stdlib.h>
int main() {
int m,n,a[15][15],b[15][15];
scanf("%d %d",&m,&n);
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)scanf("%d",&a[i][j]);//输入第一个矩阵
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
scanf("%d",&b[i][j]);//输入第二个矩阵
if(b[i][j]!=a[i][j]){
printf("No\n");
exit(0);//若当前输入的值与第一个矩阵不同,则输出No,且立刻退出程序
}
}
}
printf("Yes");//若没有被判定为No,则输出Yes
return 0;
} #include<stdio.h>
int main()
{
int arr[10][10] = {0},input,n,m;
scanf("%d %d",&n,&m);
for(int i = 0;i < 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++)
{
scanf("%d",&input);
if(input != arr[i][j])
{
printf("No\n");
return 0;
}
}
}
printf("Yes\n");
return 0;
} #include<stdio.h>
int main()
{
int n , m , a[10][10] , b[10][10] , flag = 0;
scanf("%d %d", &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 = 1;
else flag = 0;
}
if(flag == 1) printf("Yes\n");
else printf("No\n");
return 0;
} #include <stdio.h>
int main()
{
int n = 0;
int m = 0;
scanf("%d%d", &n, &m);
int a1[n][m];
int a2[n][m];
int i = 0;
int j = 0;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
scanf("%d", &a1[i][j]);
}
}
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
scanf("%d", &a2[i][j]);
}
}
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
if(a1[i][j]!=a2[i][j])
{
printf("No\n");
return 0;
}
}
}
printf("Yes\n");
return 0;
} #include<stdio.h>
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int arr[2][n][m];
for(int i=0;i<2;i++)
{
for(int j=0;j<n;j++)
{
for(int k=0;k<m;k++)
{
scanf("%d",&arr[i][j][k]);
}
}
}
for(int j=0;j<n;j++)
{
for(int k=0;k<m;k++)
{
if(arr[0][j][k]!=arr[1][j][k])
{
printf("No\n");
return 0;;
}
}
}
printf("Yes\n");
return 0;
} #include <stdio.h>
int main() {
int a, b;
int sum = 0;
scanf("%d %d", &a, &b);
int num = a * b;
int x[num], y[num];
for (int i = 0; i < num; i++) {
scanf("%d", &x[i]);
}
for (int i = 0; i < num; i++) {
scanf("%d", &y[i]);
}
for (int i = 0; i < num; i++) {
if (x[i] == y[i]) sum++;
}
if (sum == num) printf("Yes\n");
else printf("No\n");
return 0;
} #include<stdio.h>
int main(void) {
int n, m;
int** p;
int** q;
int x, y;
int a = 0;
scanf("%d %d", &n, &m);
p = (int**)malloc(n);
for (int i = 0; i < n; i++) {
p[i] = (int*)malloc(m);
for (int j = 0; j < m; j++) {
scanf("%d", &p[i][j]);
}
getchar();
}
q = (int**)malloc(n);
for (int i = 0; i < n; i++) {
q[i] = (int*)malloc(m);
for (int j = 0; j < m; j++) {
scanf("%d", &q[i][j]);
}
getchar();
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (p[i][j] == q[i][j]) {
a++;
}
}
}
if (a == (n * m)) {
printf("Yes");
} else {
printf("No");
}
return 0;
} #include<bits/stdc++.h>
using namespace std;
int main()
{
int hang,lie;
cin>>hang>>lie;
int arr_a[hang][lie],a_num;
int arr_b[hang][lie],b_num;
int flag = 1;
for(int i = 0;i<hang;i++){
for(int j = 0;j<lie;j++){
cin>>a_num;
arr_a[i][j] = a_num;
}
}
for(int i = 0;i<hang;i++){
for(int j = 0;j<lie;j++){
cin>>b_num;
arr_b[i][j] = b_num;
}
}
for(int i = 0;i<hang;i++){
for(int j = 0;j<lie;j++){
if(arr_a[i][j] != arr_b[i][j]){
flag = 0;
}
}
}
if(flag == 1){
cout<<"Yes"<<endl;
}
else
cout<<"No"<<endl;
} #include <iostream>
using namespace std;
int main() {
int n,m;
cin>>n>>m;
bool flag=false;
int a[2*n][m];
for(int i=0;i<2*n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i][j]!=a[i+n][j]){
flag=true;
}
}
if(flag){
cout<<"No"<<endl;
break;
}
}
if(!flag) cout<<"Yes"<<endl;
}
// 64 位输出请用 printf("%lld") int main() {
int a = 0;
int b = 0;
int i = 0;
int j = 0;
int n = 0;
int m = 0;
int pd = 0;
int zhen1[20][20];
int zhen2[20][20];
scanf("%d %d", &n, &m);
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
scanf("%d", &zhen1[i][j]);
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
scanf("%d", &zhen2[i][j]);
}
}
if (n == m)
{
pd = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if (!(zhen1[i][j] == zhen2[i][j] || zhen1[i][j] == zhen2[j][i]))
{
pd = 1;
break;
}
}
if (pd == 1)
{
break;
}
}
}
else
{
pd = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if (zhen1[i][j] != zhen2[i][j])
{
pd = 1;
break;
}
}
if (pd == 1)
{
break;
}
}
}
if (pd == 0)
{
printf("Yes\n");
}
else
{
printf("No\n");
}
return 0;
} 先处理行列数都相等的情况,如果互为转置矩阵也要进行判断,行列不等的情况直接判断是否全部相等即可
#include <stdio.h>
int main() {
int n,m,tmp,flag=0;
scanf("%d %d",&n,&m);
int arr[n][m];
int i = 0;
int j = 0;
for(i = 0;i<n;i++)
{
for(j = 0;j<m;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i = 0;i<n;i++)
{
for(j = 0;j<m;j++)
{
scanf("%d",&tmp);
if(tmp != arr[i][j])
{
break;
}
else {
flag++;
}
}
if(!flag)
break;
}
if(flag == n*m)
{
printf("Yes\n");
}
else {
printf("No\n");
}
return 0;
}