zoukankan      html  css  js  c++  java
  • vijos1062迎春舞会之交谊舞

    背景

    HNSDFZ的同学们为了庆祝春节,准备排练一场舞会。

    描述

    明显……交谊舞是2个人跳的,而且一男一女 -____-||||。

    由于交谊舞之前的节目安排,所有的表演者都站成了一排。这一排人的顺序满足2点:

    ①对于一对舞伴男生站在女生的左边。

    ②任何一对舞伴之间,要么没有人,要么就有若干对舞伴。

    排得过于整齐导致那些要表演交谊舞的人都没办法看到自己的舞伴,怎么办类…….
    所幸的是,SDFZ的女生比男生聪明得多。她们知道自己左边有几个男生。

    现在就请你再告诉这些女生,她们的舞伴距离她们多远(即包括那个男生,一共有多少男生夹在他们之间)。

    格式

    输入格式

    第一行为一个数n,表示参与跳交谊舞的女生个数。

    第二行n个数,从左到右表示这n个女生左边分别有多少个男生。

    输出格式

    一排n个数,行末无空格。表示n个女生与其舞伴的距离。

    样例1

    样例输入1

    6
    4 5 6 6 6 6

    样例输出1

    1 1 1 4 5 6

    限制

    各个测试点1s

    提示

    n<=1500
    结果小于2^31-1

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    #include<stack>
    using namespace std;
    int main()
    {
        stack<int> st;
        int a[1505],n,i,j,top;
        scanf("%d",&n);
        a[0]=0;
        for(i = 1;i <= n;i++)
        {
            scanf("%d",&a[i]);
            for(j = a[i-1]+2;j <= a[i]+1;j++)
            {
                st.push(j);
            }
            top = st.top();
            st.pop();
            printf("%d",a[i]+2-top);
            if(i != n)
            printf(" ");
        }
        return 0;
     } 
  • 相关阅读:
    A
    快速幂
    思维+LCA
    补题
    Manacher-马拉车算法
    AC自动机
    欢迎来怼-Alpha周(2017年10月19)贡献分配规则和分配结果
    欢迎来怼--第二十一次Scrum会议
    作业要求 20171026 每周例行报告
    Alpha发布-----欢迎来怼团队
  • 原文地址:https://www.cnblogs.com/rax-/p/15059537.html
Copyright © 2011-2022 走看看