解题思路:
注意事项:简单简简单单本来十分钟可以完成的事情,因为对列表的定义错了,重复定义,吸取教训。列表一定要分开定义才不会重叠在读取的时候,
参考代码:
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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复