第一行输入一个正整数 N ( N < 1000 ),是该用户点赞的文章数量。 随后的 N 行,每行给出一篇被其点赞的文章的标签描述,格式为“k S 1 S 2 ......S k ”。 k表示该文章的标签数,1≤k≤10,即每篇文章最多10个标签; S k 是标签,是1到1000之间的整数,即总共有不超过1000种标签。 所有数值之间以空格分隔。 程序的输出格式为: 统计所有被点赞的文章中最常出现的那个标签,在一行中输出它的标签编号和出现次数,数字间隔1个空格。如果有并列,则输出编号最大的那个。
时间: 2023-12-03 09:44:59 浏览: 75
以下一个 Python 的实现:
```python
n = int(input())
cnt = [0] * 1001 # 统计每个标签出现的次数,下标从1开始
for i in range(n):
tags = list(map(int, input().split()))[1:] # 只需要标签编号
for tag in tags:
cnt[tag] += 1
max_tag = max([(i, cnt[i]) for i in range(1, 1001)], key=lambda x: (x[1], -x[0]))
# 找到出现次数最大的标签,如果有并列,取编号最大的那个
print(max_tag[0], max_tag[1])
```
首先读入文章数量 `n`,然后用一个长度为 1001 的数组 `cnt` 统计每个标签出现的次数。接着读入每篇文章的标签,更新 `cnt` 数组。最后用 `max` 函数找到出现次数最大的标签,如果有并列,取编号最大的那个。
相关问题
在第一行输入一个正整数 n(1<n<=100),输出小于平均值的元素个数
好的,这是一个简单的算法问题。我可以为您提供一个基本的算法,用于计算小于平均值的元素个数:
1. 声明一个数组,并读取用户输入的 n 个正整数。
2. 计算这些数的平均值。
3. 循环遍历数组,统计小于平均值的元素个数。
4. 输出统计结果。
下面是一个示例代码,供您参考:
```python
# 读取用户输入的 n
n = int(input())
# 读取 n 个正整数
arr = []
for i in range(n):
num = int(input())
arr.append(num)
# 计算平均值
avg = sum(arr) / n
# 统计小于平均值的元素个数
count = 0
for i in arr:
if i < avg:
count += 1
# 输出统计结果
print(count)
```
希望这个算法能够帮助您解决问题。如果您有任何其他问题,请随时问我。
用c语言写出杨辉三角形的前n行,输入一个正整数n(n<20)的代码)
以下是用C语言编写输出杨辉三角形前n行的代码:
```
#include <stdio.h>
int main()
{
int n, i, j, k, a[20][20];
printf("请输入一个正整数n(n<20):\n");
scanf("%d", &n);
printf("杨辉三角形前%d行如下所示:\n", n);
for(i = 0; i < n; i++)
{
for(j = 0; j <= i; j++)
{
if(j == 0 || i == j)
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
printf("%-4d", a[i][j]);
}
printf("\n");
}
return 0;
}
```
希望能够帮到您,如有其他问题请随时提出。