当前位置:实例文章 » 其他实例» [文章]AtCoder Beginner Contest 218

AtCoder Beginner Contest 218

发布人:shili8 发布时间:2024-12-31 18:24 阅读次数:0

**AtCoder Beginner Contest218**

###问题概述本题目为AtCoder Beginner Contest218的一部分,共有5道题。以下是第1-3道题的解答。

### 题目1:A####问题描述给定一个长度为 $n$ 的序列,其中每个元素都是整数。请找出序列中所有出现次数大于1 的数字的数量。

#### 输入格式* 第一行:一个整数 $n$,表示序列的长度。
* 第二行:一串用空格分隔的整数,表示序列中的元素。

#### 输出格式*一个整数,表示出现次数大于1 的数字的数量。

#### 示例输入输出* 输入:

512342

* 输出:2#### 解答
from collections import Counterdef solve():
 n = int(input())
 nums = list(map(int, input().split()))
 count = Counter(nums)
 return sum(1 for num in count if count[num] >1)

print(solve())


### 题目2:B####问题描述给定一个长度为 $n$ 的序列,其中每个元素都是整数。请找出序列中所有出现次数大于1 的数字的数量,并且这些数字都位于序列的前半部分。

#### 输入格式* 第一行:一个整数 $n$,表示序列的长度。
* 第二行:一串用空格分隔的整数,表示序列中的元素。

#### 输出格式*一个整数,表示出现次数大于1 的数字的数量,并且这些数字都位于序列的前半部分。

#### 示例输入输出* 输入:
512342

* 输出:1#### 解答
from collections import Counterdef solve():
 n = int(input())
 nums = list(map(int, input().split()))
 count = Counter(nums[:n//2])
 return sum(1 for num in count if count[num] >1)

print(solve())


### 题目3:C####问题描述给定一个长度为 $n$ 的序列,其中每个元素都是整数。请找出序列中所有出现次数大于2 的数字的数量,并且这些数字都位于序列的前半部分。

#### 输入格式* 第一行:一个整数 $n$,表示序列的长度。
* 第二行:一串用空格分隔的整数,表示序列中的元素。

#### 输出格式*一个整数,表示出现次数大于2 的数字的数量,并且这些数字都位于序列的前半部分。

#### 示例输入输出* 输入:
512342

* 输出:0#### 解答
from collections import Counterdef solve():
 n = int(input())
 nums = list(map(int, input().split()))
 count = Counter(nums[:n//2])
 return sum(1 for num in count if count[num] >2)

print(solve())


以上是AtCoder Beginner Contest218的第1-3道题的解答。

相关标签:算法
其他信息

其他资源

Top