當(dāng)前位置:
首頁 >
信息学奥赛一本通C++语言——1123:图像相似度
發(fā)布時(shí)間:2025/3/17
28
豆豆
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通C++语言——1123:图像相似度
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題目描述】
給出兩幅相同大小的黑白圖像(用0-1矩陣)表示,求它們的相似度。說明:若兩幅圖像在相同位置上的像素點(diǎn)顏色相同,則稱它們在該位置具有相同的像素點(diǎn)。兩幅圖像的相似度定義為相同像素點(diǎn)數(shù)占總像素點(diǎn)數(shù)的百分比。
【輸入】
第一行包含兩個(gè)整數(shù)m和n,表示圖像的行數(shù)和列數(shù),中間用單個(gè)空格隔開。1≤m≤100, 1≤n≤100。
之后m行,每行n個(gè)整數(shù)0或1,表示第一幅黑白圖像上各像素點(diǎn)的顏色。相鄰兩個(gè)數(shù)之間用單個(gè)空格隔開。
之后m行,每行n個(gè)整數(shù)0或1,表示第二幅黑白圖像上各像素點(diǎn)的顏色。相鄰兩個(gè)數(shù)之間用單個(gè)空格隔開。。
【輸出】
一個(gè)實(shí)數(shù),表示相似度(以百分比的形式給出),精確到小數(shù)點(diǎn)后兩位。
【輸入樣例】
3 3
1 0 1
0 0 1
1 1 0
1 1 0
0 0 1
0 0 1
【輸出樣例】
44.44
代碼
#include<bits/stdc++.h> using namespace std; double a,b,m[100][100],s,n[100][100],c; int main() {scanf("%lf%lf",&a,&b);for(int i=1;i<=a;i++){for(int j=1;j<=b;j++)scanf("%lf",&n[i][j]);}for(int i=1;i<=a;i++){for(int j=1;j<=b;j++)scanf("%lf",&m[i][j]);}for(int i=1;i<=a;i++){for(int j=1;j<=b;j++){if(n[i][j]==m[i][j])s++;}}c=s/(a*b)*100;printf("%.2lf",c);return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通C++语言——1123:图像相似度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通C++语言——1060:
- 下一篇: 信息学奥赛C++语言:求三角形的面积