众所周知,在互联网上有很多话是不好直接说出来的,不过一些模糊的图片仍然能让网友看懂你在说什么。然而对这种言论依然一定要出重拳,所以请你实现一个简单的匹配算法。 现在我们采集了原图的一些特征数据,由 N 个小于 255 的非负整数组成,假设对于给定的若干张由 M i 个同样小于 255 的非负整数组成的新图的特征数据,每个数据都可以由原图中任意四个不同数据的平均值计算而来,则称新图为原图的相似图片。对于给出的数据,请你判断是不是相似图片。 注意,不同数据指的并非是数据的值不同,而是不能取同一个数据多次。对于两个相同值的数据,如果给出两次,则可以取两次。 输入格式: 输入第一行是两个整数 N,K (1 ≤ N ≤ 50, 1 ≤ K ≤ 200),表示采集的原图的特征数据个数和新图的张数。 接下来一行为 N 个小于 255 的非负整数,表示原图的特征数据。 最后的 K 行,每行第一个数是 M i (1 ≤ M i ≤ 200),表示新图的特征数据个数。然后是 M i 个小于 255 的非负整数,表示新图的特征数据。 写一段python代码
时间: 2024-04-14 08:27:40 浏览: 129
```python
def is_similar_image(n, k, original_data, new_data):
# 计算原图特征数据的平均值
original_avg = sum(original_data) / n
for i in range(k):
m = new_data[i][0] # 新图的特征数据个数
new_avg = sum(new_data[i][1:]) / m # 计算新图特征数据的平均值
if new_avg == original_avg:
return "YES" # 是相似图片
return "NO" # 不是相似图片
# 输入示例
n, k = map(int, input().split())
original_data = list(map(int, input().split()))
new_data = []
for _ in range(k):
new_data.append(list(map(int, input().split())))
# 调用函数判断是否为相似图片
result = is_similar_image(n, k, original_data, new_data)
print(result)
```
以上是一个简单的算法实现,通过计算每个新图特征数据的平均值,与原图特征数据的平均值进行比较判断是否为相似图片。如果新图的平均值与原图的平均值相等,则认为是相似图片,返回"YES";否则返回"NO"。