apraksts uzdevumi suutiit jauns statuss rezultati helps apraksts

sejumi Enciklopēdiju sējumu kārtošana 1 sek.


 Uzdevums

Bibliotēkas izziņu grāmatu sekcijā ir enciklopēdija, kurai ir N sējumi, kas numurēti pēc kārtas ar skaitļiem no 1 līdz N. Katru dienu cilvēki šos sējumus lieto, tādēļ dienas beigās tie bieži vien plauktā neatrodas pareizajā secībā (sakārtoti numuru pieaugšanas secībā no kreisās uz labo pusi).
Jūsu uzdevums ir uzrakstīt programmu, kas bibliotekāram palīdz plauktā atjaunot pareizo sējumu secību.
Sējumu sakārtošanai ir atļauta tikai viena operācija - bibliotekārs paņem vienu sējumu no plaukta, pabīda visus pa labi palikušos sējumus pa kreisi un pēc tam paņemto sējumu novieto sējumu rindas labajā galā. Šo operāciju sauc par "sējuma pabīdīšanu pa labi".
Piemēram, ja sējumi ir sakārtoti secībā

1 3 2 4 5
, tad pēc 2.sējuma pārbīdīšanas pa labi sējumu secība būtu
1 3 4 5 2

Programmai katram dotajam enciklopēdijas sējumu sakārtojumam jānosaka īsākā sējumu numuru virkne, lai, pabīdot sējumus no šīs virknes pēc kārtas pa labi, sējumi plauktā būtu pareizajā secībā.

 
 Ievaddati

Teksta faila sejumi.in vienīgā rindā dota informācija par sējumu secību plauktā. Pirmais skaitlis rindā apzīmē sējumu skaitu N (N<=99), bet tam sekojošie N skaitļi apzīmē sējumu numuru secību plauktā. Starp katriem diviem blakus skaitļiem failā ir viens tukšumsimbols.

 
 Izvaddati

Teksta faila sejumi.out vienīgajā rindā jāizvada K+1 skaitlis, kur K-mazākais pārbīdāmo sējumu skaits, lai iegūtu pareizu sējumu secību. Pirmā jāizvada skaitļa K vērtība. Pēc tam šajā rindā jāizvada pārbīdāmo sējumu numuri to bīdīšanas secībā. Starp katriem diviem blakus skaitļiem jāizvada viens tukšumsimbols.

 
 Piemērs

sejumi.insejumi.out
4 1 4 2 3
1 4
  
sejumi.insejumi.out
5 1 2 3 4 5
0

 
 Atsauces
Uzdevums izmantots "Baltijas algoritmizācijas skolas" projektā, kas tika organizēts ar "Sorosa fonds-Latvija" atbalstu 1996.gadā.

Drukāšanai

 

Copyright © 2001 Girts Folkmanis, LIIS