TouchStone
  Please Login
ログイン 登録
 ホームページ  問題セット  試験一覧  提出状況  掲示板  統計情報
  • ホーム
  • 問題セット
  • P3597
  • 問題
  • P3597煎饼
    制限 : 時間制限 : 10000 MS   メモリ制限 : 65536 KB
    問題説明

    有一叠煎饼正在锅里。煎饼共有n(n<=30)张,每张饼都有一个数字,代表它的大小,每个饼的大小都不同。厨师每次可以选一个数字k,把从锅底开始数第k张上面的煎饼(包括第k张)全部翻过来,即原来在上面的煎饼现在到了下面。
    例如,一开始一叠煎饼如下:
    5
    1
    2
    3
    4
    第一次,厨师选了数字1,把第1张饼开始往上面的饼都翻了过来,得到下面一叠饼
    4
    3
    2
    1
    5
    第二次,厨师选了数字2,把第2张饼开始往上的所有饼都翻转了过来,得到下面一叠饼
    1
    2
    3
    4
    5


    给出最开始一叠饼的形态,请你设计一种翻转方法使得所有饼从上往下按从小到大的顺序排列。

    入力形式

    第一行,一个数字n表示饼的个数
    第二行,n个空格间隔的整数,表示从上往下每个饼的大小

    出力形式

    第一行,一个整数,表示最少翻动的次数

    第二行,若干个数字,每个数字表示一次翻动的位置。若一次都不需要翻转,直接输出0

    サンプル入力

    5
    5 1 2 3 4

    サンプル出力

    2
    1 2

    ヒント

    1<=饼上的数字<=100


    ソース  uva 120