zoukankan      html  css  js  c++  java
  • 吃货

    【问题描述】

      他有一个有 n 块食物,大小均在 1 到 n 之间,且各不相同,食物每天提供一块。有一 个吃货,特殊的进餐习惯,他会每天吃一块食物,他会先吃大的。比如第一天就会吃大小为 n,第二天吃大小 n-1,第三天吃大小为 n-2……。如果某一天食物的大小不对的话,他会 将食物暂时囤积起来,一直等着这个食物出现,然后将之前的食物按从大到小的顺序一口气 吃掉。

    【输入数据】

      第一行,一个整数 n (1≤n≤100000) ,表示食物的数量。 第二行,n 个整数,依次表示每天的食物的大小。

    【输出数据】

      输出共 n 行,每行若干个数,第一个数表示当前是第几天,接下来若干是,依次表示 当天吃掉的食物的大小,若当天没有吃,则不输出。

    【输入样例 1】

      3 3 1 2

    【输出样例 1】

      1 3 2 3 2 1

    【样例解释】

      第一天吃最大的 3;第二天等待,不吃;第三天吃 2 和 1。

    【输入样例 2】

      5 4 5 1 2 3

    【输出样例 2】

      1 2 5 4 3 4 5 3 2 1

    【样例解释】

      第一天等待,不吃;第二天吃 5 和 4;第三天等待,不,;第四题等待,不吃;第五天吃 3、 2、1。

    模拟大水题,废话不说直接放代码

     1 #include<cstdio>
     2 int a[100005],b[100005],flag,n;
     3 int main(){
     4     freopen("eat.in","r",stdin);
     5     freopen("eat.out","w",stdout);
     6     scanf("%d",&n);
     7     for(int i=1;i<=n;i++)scanf("%d",&a[i]);
     8     flag=n;
     9     for(int i=1;i<=n;i++){
    10         printf("%d ",i);
    11         b[a[i]]=1;
    12         while(b[flag])printf("%d ",flag),flag--;
    13         printf("
    ");
    14     }
    15 }
  • 相关阅读:
    word 软换行与硬换行
    正态分布(normal distribution)与偏态分布(skewed distribution)
    hdu1043Eight (经典的八数码)(康托展开+BFS)
    TCP和UDP的区别
    SDUT2608(Alice and Bob)
    The Six Types of Rails Association
    排序算法c语言描述---堆排序
    Jenkins的plugin开发
    SDUTRescue The Princess(数学问题)
    【数据库系列】之存储过程与触发器
  • 原文地址:https://www.cnblogs.com/wangshengjun/p/767A.html
Copyright © 2011-2022 走看看