#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int same_count = 0;
int total = n * m;
// 存储第一幅图像
int** image1 = new int*[n];
for (int i = 0; i < n; ++i) {
image1[i] = new int[m];
for (int j = 0; j < m; ++j) {
cin >> image1[i][j];
}
}
// 读取并比较第二幅图像
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
int pixel2;
cin >> pixel2;
if (image1[i][j] == pixel2) {
same_count++;
}
}
}
// 释放内存
for (int i = 0; i < n; ++i) {
delete[] image1[i];
}
delete[] image1;
// 计算相似度百分比
double similarity = (double)same_count / total * 100;
// 输出结果,保留两位小数
cout << fixed << setprecision(2) << similarity << endl;
return 0;
}
/**************************************************************
Problem: 1407
User: fuyijun
Language: C++
Result: Accepted
Time:22 ms
Memory:2072 kb
****************************************************************/