为什么这一题一直五十分(菜鸡震惊)
  • 板块灌水区
  • 楼主JINLVYICHEN
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/18 20:35
  • 上次更新2023/11/2 12:59:36
查看原帖
为什么这一题一直五十分(菜鸡震惊)
903038
JINLVYICHEN楼主2023/10/18 20:35

求解,为啥一直五十分

#include<bits/stdc++.h>
using namespace std;
int n, ans;
struct point
{
    int s, g;
}a[10001];
bool cmp(point x, point y)
{
    if(x.s == y.s) return x.g <= x.g;
    return x.s > y.s;
}
int main()
{
    //freopen("paiming.in", "r", stdin);
    //freopen("paiming.out", "w", stdout);
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) scanf("%d %d", &a[i].s, &a[i].g);
    sort(a+1, a+1+n, cmp);
    for (int i = 1; i <= n; ++i)
    {
        ans = 0;
        for(int j = 1; j < i; ++j)
        {
            if(a[j].g < a[i].g) ++ans;
        }
        printf("%d\n", ans);
    }
    return 0;
}

明明好像没问题。。。。。

原题题目: 【问题描述】

一年一度的CZYZ附属小学的学生程序设计比赛开始了,组委会公布了所有学生的成绩,成绩按分数从高到低排名,成绩相同按年级从低到高排。

现在,命题者WZK 想知道对于每一个排名的学生前,有几位学生的年级低于他,方便他去教导小学生走向神牛之路。

【输入格式】

输入文件的第1行只有一个正整数n,表示参赛的学生人数。

第2行至第n+1行共n行,每行有两个正整数s,g,之间用一个空格隔开,其中第1+1行的第一个数s表示第i个学生的成绩,第i+1行的第二个数g表示第i个学生的年级。【输出格式】

输出文件有n行,每行只有一个正整数,其中第i行的数k表示排第i名的学生前面有k个学生排名比他高,且年级比他低。

【输入输出样例】 paiming.in

5 300 5 200 6 350 4 400 6

250 5 paiming.out

0 0 1 1

3 【数据范围】

对于100%的数据:1≤n≤200,0≤s≤400,1≤g≤6。

2023/10/18 20:35
加载中...