信息学奥赛一本通C++语言——1123:图像相似度
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通C++语言——1123:图像相似度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
給出兩幅相同大小的黑白圖像(用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
代碼
#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; }總結
以上是生活随笔為你收集整理的信息学奥赛一本通C++语言——1123:图像相似度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通C++语言——1060:
- 下一篇: 最高分数的学生姓名(信息学奥赛一本通-T