zoukankan      html  css  js  c++  java
  • 繁华模拟赛 Evensgn玩序列

    #include<iostream>
    #include<cstdio>
    #include<string>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    const int maxn = 5000;
    int n,a[maxn],b[maxn],c[maxn],rka[maxn],rkb[maxn],rkc[maxn];
    bool visa[maxn],visb[maxn],visc[maxn];
    int rk,rec;
    int main(){
        freopen("perm.in","r",stdin);
        freopen("perm.out","w",stdout);
        ios::sync_with_stdio(false);
        cin>>n;
        for(int i = n;i >= 1;i--){
            cin>>a[i];
            visa[a[i]] = true;
        }
        for(int i = n;i >= 1;i--){
            cin>>b[i];
            visb[b[i]] = true;
        }
        for(int i = n;i >= 1;i--){
            rk = -1;
            for(int j = 0;j <= a[i];j++) if(visa[j]) rk++;
            visa[a[i]] = false;
            rka[i] = rk;
        }
        for(int i = n;i >= 1;i--){
            rk = -1;
            for(int j = 0;j <= b[i];j++) if(visb[j])rk++;
            visb[b[i]] = false;
            rkb[i] = rk;
        }
        for(int i = 1;i <= n;i++){
            rkc[i] += rka[i] + rkb[i];
            rkc[i+1] += rkc[i] / i;
            rkc[i] %= i;
        }
        memset(visc,true,sizeof(visc));
        for(int i = n;i >= 1;i--){
            rec = rk = 0;
            while(1){
                if(visc[rec]) rk++;
                if(rk > rkc[i]) break;
                rec++;
            }
            visc[rec] = false;
            cout<<rec<<" ";
        }
        return 0;
    }
  • 相关阅读:
    格式与布局 float 左右悬浮边框
    格式与布局
    样式表
    c# 验证码
    邮箱登录页面
    表单与框架
    HTML 练习 做简历表
    HTML 基础
    验证码 随机数
    Linux 三剑客 -- awk sed grep
  • 原文地址:https://www.cnblogs.com/hyfer/p/5904440.html
Copyright © 2011-2022 走看看