第五章 數 組-1123:圖像相似度

1123:圖像相似度

時間限制: 1000 ms 內存限制: 65536 KB
提交數: 14240 通過數: 9100
【題目描述】
給出兩幅相同大小的黑白圖像(用0-1矩陣)表示,求它們的相似度。說明:若兩幅圖像在相同位置上的像素點顏色相同,則稱它們在該位置具有相同的像素點。兩幅圖像的相似度定義爲相同像素點數佔總像素點數的百分比。

【輸入】
第一行包含兩個整數m和n,表示圖像的行數和列數,中間用單個空格隔開。1≤m≤100, 1≤n≤100。

之後m行,每行n個整數0或1,表示第一幅黑白圖像上各像素點的顏色。相鄰兩個數之間用單個空格隔開。

之後m行,每行n個整數0或1,表示第二幅黑白圖像上各像素點的顏色。相鄰兩個數之間用單個空格隔開。

【輸出】
一個實數,表示相似度(以百分比的形式給出),精確到小數點後兩位。

【輸入樣例】
3 3
1 0 1
0 0 1
1 1 0
1 1 0
0 0 1
0 0 1
【輸出樣例】
44.44


思路:對比第一幅和第二幅輸入像素點的顏色相同就+1 統計出來 相同點/總點數,求得相似比。

#include<bits/stdc++.h>
using namespace std;

int main(){
	
	int a[101][101],b[101][101];
	int i,j,m,n;
	double s = 0;
	
	cin >> m >> n;
	for(i = 1;i <= m;i++)
         for(j = 1;j <= n;j++)
           cin >> a[i][j];
         for(i = 1;i = m;i++)
           for(j = 1;j <= n;j++)
	  {
	  	cin >> b[i][j];
	  	if(a[i][j] == b[i][j])//對比
	  	s++;
	  	  	
	  }
	printf("%.2lf\n",s / (n * m) * 100);
	
 return 0;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章