• 1123:图像相似度


    时间限制: 1000 ms 内存限制: 65536 KB
    提交数: 5813 通过数: 3910

    【题目描述】

    给出两幅相同大小的黑白图像(用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

    【来源】

    NO

    代码

    #include <cstdio>
    #include <iostream>
    #include <cstring>
    using namespace std;
    int m,n;
    int main ()
    {
    	cin>>m>>n;
    	int a[m+1][n+1],b[m+1][n+1];
    	memset(a,0,sizeof(a));
    	memset(b,0,sizeof(b));
    	for(int i=1;i<=m;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			cin>>a[i][j];
    		}
    	}
    	for(int i=1;i<=m;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			cin>>b[i][j];
    		}
    	}
    	double sum=0.00;
    	for(int i=1;i<=m;i++)
    	{
    		for(int j=1;j<=n;j++)
    		{
    			if(a[i][j]==b[i][j]) sum++;
    		}
    	}
    	double temp;
    	temp=sum/(m*n)*100.0;
    	printf("%.2lf",temp);
    	return 0;
    }
    
  • 相关阅读:
    leetcode10 正则表达式匹配 dp
    AS技巧合集「调试技巧篇」
    AS技巧合集「编码技巧篇」
    AS技巧合集「常用技巧篇」
    Android studio:Groovy 与 Gradle 基础【三】
    Android Studio :Android Studio 与 Gradle 深入【二】
    Android studio:从Eclipse迁移到Android Studio【一】
    Anroid Studio入门
    54. Android中adb常用命令及应用常用目录
    53. Android常用工具类
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338717.html
Copyright © 2020-2023  润新知