TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • 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