zoukankan      html  css  js  c++  java
  • 水题——415A. Mashmokh and Lights

    A. Mashmokh and Lights
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Mashmokh works in a factory. At the end of each day he must turn off all of the lights.

    The lights on the factory are indexed from 1 to n. There are n buttons in Mashmokh's room indexed from 1 to n as well. If Mashmokh pushes button with index i, then each light with index not less than i that is still turned on turns off.

    Mashmokh is not very clever. So instead of pushing the first button he pushes some of the buttons randomly each night. He pushed m distinct buttonsb1, b2, ..., bm (the buttons were pushed consecutively in the given order) this night. Now he wants to know for each light the index of the button that turned this light off. Please note that the index of button bi is actually bi, not i.

    Please, help Mashmokh, print these indices.

    Input

    The first line of the input contains two space-separated integers n and m (1 ≤ n, m ≤ 100), the number of the factory lights and the pushed buttons respectively. The next line contains m distinct space-separated integers b1, b2, ..., bm (1 ≤ bi ≤ n).

    It is guaranteed that all lights will be turned off after pushing all buttons.

    Output

    Output n space-separated integers where the i-th number is index of the button that turns the i-th light off.

    Examples
    input
    5 4
    4 3 1 2
    output
    1 1 3 4 4 
    input
    5 5
    5 4 3 2 1
    output
    1 2 3 4 5 
    Note

    In the first sample, after pressing button number 4, lights 4 and 5 are turned off and lights 1, 2 and 3 are still on. Then after pressing button number 3, light number 3 is turned off as well. Pressing button number 1 turns off lights number 1 and 2 as well so pressing button number 2 in the end has no effect. Thus button number 4 turned lights 4 and 5 off, button number 3 turned light 3 off and button number 1 turned light 1 and 2 off.

    题意:有n盏灯和开关1,,2,3...第n个开关可以把第n个灯及其后面的灯关闭,操作了m次,每次按下一个开关,保证所有的灯最后都被关闭了,要求输出每个灯是被哪个开关关闭的。

     1 /*A*/
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int n,m;
     9     int a[100+10];
    10     int ans[100+10];
    11     int vis[100+10];
    12     while(scanf("%d%d",&n,&m)!=EOF)
    13     {
    14         for(int i=0;i<m;i++)
    15             scanf("%d",&a[i]);
    16         memset(ans,0,sizeof(ans));
    17         memset(vis,0,sizeof(vis));
    18         for(int i=0;i<m;i++)
    19         {
    20             if(vis[a[i]]==0)
    21             {
    22                 for(int j=a[i];j<=n;j++)
    23                 {
    24                     if(vis[ans[j]]==0)
    25                     {
    26                         ans[j]=a[i];
    27                         vis[j]=1;
    28                     }
    29                 }
    30             }
    31         }
    32         printf("%d ",ans[1]);
    33         for(int i=2;i<=n;i++)
    34             printf("%d ",ans[i]);
    35         printf("
    ");
    36     }
    37     return 0;
    38 }
  • 相关阅读:
    剑指Offer-11.二进制中1的个数(C++/Java)
    剑指Offer-10.矩形覆盖(C++/Java)
    剑指Offer-9.变态跳台阶(C++/Java)
    UVA 1608 Non-boring sequence 不无聊的序列(分治,中途相遇)
    UVA1607 Gates 与非门电路 (二分)
    UVA 1451 Average平均值 (数形结合,斜率优化)
    UVA 1471 Defense Lines 防线 (LIS变形)
    UVA 1606 Amphiphilic Carbon Molecules 两亲性分子 (极角排序或叉积,扫描法)
    UVA 11134 FabledRooks 传说中的车 (问题分解)
    UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 (中途相遇)
  • 原文地址:https://www.cnblogs.com/yepiaoling/p/5313245.html
Copyright © 2011-2022 走看看