• [水]ZOJ1201


    给原排列 求 其前面有多少个数比他大。

    给每一个数1...2..n前面有多少个数比他大,求原序列

     第一个直接统计

    第二个从1開始找出第inv【i】+1个空位置放进去就好

    printf里的format 原来能够用if表达式 - -

    #include <bits/stdc++.h>
    
    using namespace std;
    int n;
    void Gao()
    {
        int a[100],b[100]={0};
        char ch;
        getchar();
        ch=getchar();
        if (ch=='P')
        {
            for (int i=0;i<n;i++)
                scanf("%d",a+i);
            for (int i=0;i<n;i++)
                for (int j=0;j<i;j++)
                    if (a[i]<a[j])
                        b[a[i]]++;
            for (int i=0;i<n;i++)
                printf(i==0?"%d":" %d",b[i+1]);
            cout<<endl;
        }
        else
        {
            for (int i=0;i<n;i++)
                scanf("%d",a+i);
            for (int i=0;i<n;i++)
            {
                int need=0;
                for(int j=0;j<n;j++)
                {
                    if (b[j]==0) need++;
                    if ((need==(a[i]+1))&&(b[j]==0))
                    {
                        b[j]=i+1;
                        break;
                    }
                }
            }
            for (int i=0;i<n;i++)
                printf(i==0?"%d":" %d",b[i]);
            cout<<endl;
        }
    }
    int main()
    {
     //   freopen("a.in","r",stdin);
        while (cin>>n && n)
            Gao();
        return 0;
    }


  • 相关阅读:
    反向迭代
    c++知识点
    LeetCode-Count Bits
    LeetCode-Perfect Rectangle
    LeetCode-Perfect Squares
    LeetCode-Lexicographical Numbers
    LeetCode-Find Median from Data Stream
    LeetCode-Maximal Square
    LeetCode-Number of Digit One
    LeetCode-Combination Sum IV
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7230415.html
Copyright © 2020-2023  润新知