zoukankan      html  css  js  c++  java
  • noip模拟赛 轰炸

    题目描述

    C国和W国爆发了战争!YJC决定对W国的n个城市进行轰炸。每个城市都有一个重要度ai。设xi=‘重要度大于ai的城市数+1’,那么编号为i城市就是第xi个被轰炸的城市。显然这样能保证重要度大的城市先被轰炸,重要度相同的城市同时被轰炸。现在YJC想知道,对于每一个i,xi等于多少?

    输入输出格式

    输入格式:

    第一行包含一个整数n,表示城市个数。

    第二行包含n个整数,第i个整数ai表示第i个城市的重要度。

    输出格式:

    一行,包含n个整数,第i个整数xi表示第i个城市是第几个被轰炸的城市。

    输入输出样例

    输入样例#1:
    5
    3 1 3 1 1
    输出样例#1:
    1 3 1 3 3

    说明

    对于100%的数据,满足1≤n≤2000,1≤ai≤10^9。

    分析:noipd1t1难度,直接排序判个重就好了.

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #include <queue>
    #include <stack>
    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #include <string>
    
    using namespace std;
    
    int n,ans[2010];
    
    struct node
    {
        int x, id;
    }e[2010];
    
    bool cmp(node a, node b)
    {
        return a.x > b.x;
    }
    
    int main()
    {
        scanf("%d", &n);
        for (int i = 1; i <= n; i++)
        {
            scanf("%d", &e[i].x);
            e[i].id = i;
        }
        sort(e + 1, e + 1 + n, cmp);
        for (int i = 1; i <= n; i++)
        {
            ans[e[i].id] = i;
            for (int j = i - 1; j >= 1; j--)
                if (e[j].x == e[i].x)
                    ans[e[i].id]--;
        }
        for (int i = 1; i <= n; i++)
            printf("%d ", ans[i]);
    
        return 0;
    }
  • 相关阅读:
    python笔记第十一天 模块补充
    python笔记第十天 模块
    python笔记第九天 装饰器
    python笔记第八天 迭代器与生成器
    python笔记第七天 文件操作
    python笔记第六天 函数和函数的内置方法
    C语言----指针形参(指向指针的指针形参)
    NEON使用方法
    ARM NEON指令集总结
    三维变换矩阵左乘和右乘分析
  • 原文地址:https://www.cnblogs.com/zbtrs/p/7587367.html
Copyright © 2011-2022 走看看