📜  devu 和友谊测试 codechef 解决方案 - Python (1)

📅  最后修改于: 2023-12-03 15:00:24.234000             🧑  作者: Mango

Devu and Friendship Testing

题目链接:https://www.codechef.com/problems/CF439A

题目描述

给定一个非空的整数数组 $a$ 和一个整数 $k$,计算将 $a$ 中的每个元素都增加 $k$ 后,不同的元素数。

输入格式
  • 第一行包含一个整数 $t$,表示测试用例的数量(1 ≤ $t$ ≤ 100)。
  • 每个测试用例包含两行:
    • 第一行包含两个整数 $n$ 和 $k$(1 ≤ $n$, $k$ ≤ 100)。
    • 第二行包含 $n$ 个整数 $a_1$, $a_2$, $\cdots$, $a_n$(1 ≤ $a_i$ ≤ 100)。
输出格式
  • 对于每个测试用例,输出一个整数,表示将 $a$ 中的每个元素都增加 $k$ 后,不同的元素数。
解法

将所有的数加上 $k$ 后统计不同数的个数即可。

代码
def friendship_testing():
    t = int(input())
    for _ in range(t):
        n, k = map(int, input().split())
        a = list(map(int, input().split()))
        a = set([x + k for x in a])
        print(len(a))

friendship_testing()

该代码使用了 Python 的 set 数据类型来统计不同数的个数。