5.[NOIP2009 普及组] 分数线
2022-11-24 20:41:39
发布于:江苏
334阅读
0回复
0点赞
[NOIP2009 普及组] 分数线划定 题解
AC代码(C++):
#include <bits/stdc++.h>
using namespace std;
int s[105],k[10005][105];
int main(void)
{
int n,m,ss,kk,count = 0,i,max = 0,x,j;
scanf("%d%d",&n,&m); // input
m = m * 1.5; // Number of people
for (i = 0;i < n;i++)
{
scanf("%d%d",&kk,&ss); // input
k[kk][ss]++; // Included
s[ss]++; // Included
}
for (i = 100;count < m;i--)
count += s[i]; // Calculate the score and the number of people who can enter
printf("%d %d\n",i + 1,count); // output
x = i + 1; // Record the score line
for(i = 100;i >= x;i--) // Enumeration from large to small within the fraction line
for(j = 1000;j <= 10000;j++) // Search name under one score
if(k[j][i]) printf("%d %d\n",j,i); // Search output
return 0;
}
此处英文注释为自己靠着自己的英语知识使用百度翻译(fanyi.baidu.com/#zh/en/)所写,请酌情添加
// 解释一下
scanf("%d%d",&n,&m); // input // 输入
m = m * 1.5; // Number of people // 总人数
k[kk][ss]++; // Included // 计入
count += s[i]; // Calculate the score and the number of people who can enter // 算出分数线和能进的人数
printf("%d %d\n",i + 1,count); // output // 输出
x = i + 1; // Record the score line // 记录分数线
for(i = 100;i >= x;i--) // Enumeration from large to small within the fraction line // 分数线内从大到小枚举
for(j = 1000;j <= 10000;j++) // Search name under one score // 在一个分数下搜报名号
if(k[j][i]) printf("%d %d\n",j,i); // Search output // 搜到输出
全部评论 1
你实际上可以只写关键词,增加难度(
2024-02-17 来自 广东
0
有帮助,赞一个