解题思路:

注意事项:简单简简单单本来十分钟可以完成的事情,因为对列表的定义错了,重复定义,吸取教训。列表一定要分开定义才不会重叠在读取的时候,

参考代码:


l1=[]

l2=[]#之前写成l1=l2=[],吸取教训不能这么定义,列表位置会被放在同一个地址,要分开写

m,n=map(int,input().split())

for i in range(m):

    l1.append(list(map(int,input().split())))

##for i in range(n*m):

##    l1.append(int(input().split()))

for i in range(m):

    l2.append(list(map(int,input().split())))

##print(l1)

##print(l2)

s=0

for i in range(m):

    for j in range(n):

        if l1[i][j]==l2[i][j]:

            s+=1

##            print(i,j)

##print(s)

print('{:.2f}'.format(s/(m*n)*100))


'''

题目 2881: 图像相似度

时间限制: 3s 内存限制: 192MB 提交: 208 解决: 131

题目描述

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

'''


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论