|
Zadachi 8-oj Vserossijskoj olimpiady shkol'nikov
K-znachnoe chislo (K< =10) nazyvaetsja pestrym, esli vse ego cifry razlichny. Pri jetom nol' ne mozhet byt' pervoj cifroj. TrebuetsjaNapisat' programmu, kotoraja dlja zadannogo K:
Vhodnye dannyeChislo vvoditsja s klaviatury Vyhodnye dannyeRezul'tat dolzhen byt' vyveden v fajl s imenem OUTPUT.TXT. Dlja kazhdoj najdennoj cepochki vyvoditsja tol'ko pervoe chislo, kotoroe raspolagaetsja v otdel'noj stroke vyhodnogo fajla.PrimechanijaZadacha ocenivaetsja iz 20 ballov. Vremja testirovanija ne bolee 1 minuty.
Rassmatrivajutsja dva algoritmicheskih jazyka: Beta i Psi (opisanija jazykov prilagajutsja nizhe). Trebuetsja perevesti programmu s jazyka Beta na jazyk Psi. Rezul'tirujuschaja programma na jazyke Psi dolzhna realizovyvat' tot zhe samyj algoritm, chto i ishodnaja programma na jazyke Beta. Primer vozmozhnogo perevoda:
Primechanija
1. Tekst ishodnoj programmy sostoit ne bolee, chem iz 100 strok, a kazhdaja
stroka soderzhit ne bolee 80 simvolov. Opisanie jazyka Beta
Nizhe perechisleny operatory jazyka Beta:
Opisanie jazyka Psi
Nizhe perechisleny operatory jazyka Psi:
Ustanovka sostoit iz ustrojstv A i B, soedinennyh mezhdu soboj lezhaschimi na zemle shlangami. Kazhdoe ustrojstvo imeet N patrubkov, pronumerovannyh ot 1 do N kak izobrazheno na ris. 1. Kazhdyj iz shlangov soedinjaet patrubki oboih ustrojstv s odinakovymi nomerami. Shlangi mogut raspolagat'sja drug otnositel'no druga proizvol'nym obrazom s edinstvennym ogranicheniem: pri peremeschenii tochki vdol' ljubogo shlanga ot A k V rasstojanie ot nee do A tol'ko vozrastaet. Nomer shlanga sovpadaet s nomerom patrubka ustrojstva A. ris.1 Dlja uluchshenija propusknoj sposobnosti shlangov bylo resheno provesti pereukladku shlangov tak, chtoby sdelat' ih neperesekajuschimisja (sm. ris. 2). Dlja jetogo obhodchiku poruchili zapisat' informaciju o tochkah peresechenij shlangov po napravleniju dvizhenija ot ustrojstva A k ustrojstvu B. Dlja kazhdogo ocherednogo peresechenija obhodchik zapisal pary chisel: nomer shlanga, lezhaschego snizu, i nomer shlanga, raspolozhennogo sverhu, sootvetstvenno (v kazhdoj tochke peresekajutsja ne bolee dvuh shlangov. ris.2 TrebuetsjaNapisat' programmu, kotoraja po zadannym N (schitat' N< 3) i proizvol'noj posledovatel'nosti peresechenij shlangov opredeljala by:
(a) net li zavedomyh oshibok v zapisi obhodchika; Vhodnye dannyeVhodnye dannye raspolagajutsja v fajle INPUT.TXT. V pervoj stroke jetogo fajla nahoditsja chislo, vo vtoroj - zapisannye cherez probel vyshenazvannye pary natural'nyh chisel. Dannye vo vhodnom fajle vsegda sootvetstvujut opisannomu formatu fajla INPUT.TXT. Dlja ris.1 vhodnye dannye v fajle INPUT.TXT imejut vid: 3 2 1 3 1 2 3 3 2 1 3 1 2 Vyhodnye dannyeRezul'taty reshenija dolzhny vyvodit'sja na jekran monitora. Pri jetom dopustimy sledujuschie soobschenija:
(a) Uncorrect input data - pri obnaruzhenii zavedomyh oshibok v zapisi
obhodchika; Dlja privedennogo vyshe primera fajla INPUT.TXT programma dolzhna vydat' soobschenija: Correct input data Unsolvable Primechanija
V gorode otkrylsja klub filatelistov, chlenami kotorogo stremjatsja stat' M chelovek. Na kazhdom zasedanii v klub prinimajut odnogo novogo filatelista. Chtoby byt' prinjatym, kazhdyj pretendent dolzhen pred''javit' svoju kollekciju marok, v kotoroj net odinakovyh jekzempljarov i kotoraja hot' chem-to otlichaetsja ot kollekcij chlenov kluba. Dlja jetogo kazhdyj novyj pretendent idet v magazin, gde prodajutsja N vidov pochtovyh marok (3< =N< =10000 po cenam X1< =X2 < =...< =XN (1< =Xi < =10000, i=1..N), i pokupaet sootvetstvujuschij nabor marok, starajas' potratit' minimal'nuju summu deneg. Naprimer, pri assortimente iz 5 marok po cenam 3, 4, 6, 10, 15 kollekcionery budut pokupat' ih v predstavlennom nizhe porjadke:
TrebuetsjaNapisat' programmu, kotoraja po suschestvujuschim v magazine cenam na marki opredeljaet minimal'nye summy deneg, kotorye neobhodimo zatratit' kazhdomu kollekcioneru s uchetom porjadka vstuplenija ego v klub. Vhodnye dannyeVhodnye dannye zadajutsja v fajle INPUT.TXT v sledujuschem porjadke: v pervoj stroke - N, vo vtoroj - M, v posledujuschih N strokah ukazyvajutsja ceny marok v neubyvajuschem porjadke. Vyhodnye dannye Rezul'tat reshenija zadachi zapisyvaetsja v fajl s imenem OUTPUT.TXT. Kazhdaja iz M strok jetogo fajla soderzhit sootvetstvujuschuju iskomuju summu zatrachennyh deneg dlja kazhdogo kollekcionera. Jeti M summ dolzhny raspolagat'sja v neubyvajuschem porjadke. Primer vhodnogo fajla i sootvetstvujuschego emu vyhodnogo fajla priveden nizhe: INPUT.TXT: 5 10 3 4 6 10 15 OUTPUT.TXT: 3 4 6 7 9 10 10 13 14 15 Primechanija:
N spichek (N< =15) na ploskosti obrazuet figuru kak, naprimer, izobrazheno na ris.1:
ris.1 Nazovem figuru B simmetrichnoj figure A, esli suschestvuet takaja os' simmetrii, chto otobrazhaja otnositel'no ee ishodnuju figuru A, my poluchim figuru B. Ochevidno, dlja ljuboj zadannoj figury mozhno postroit' simmetrichnuju ej, perelozhiv nekotorye spichki. V processe perekladyvanija spichki lomat' nel'zja. Nakladyvanie spichek drug na druga ne privodit k narusheniju uslovija ih raspolozhenija na ploskosti. Naprimer, iz figury ris. 1. mogut byt' polucheny figury, izobrazhennye na ris.2 i ris.3:
TrebuetsjaNapisat' programmu, dlja opredelenija simmetrichnoj figury, poluchajuschejsja iz ishodnoj perekladyvaniem minimal'nogo kolichestva spichek. Vhodnye dannyeIshodnoe raspolozhenie spichek zadaetsja v fajle s imenem INPUT.TXT. Pervaja stroka fajla soderzhit chislo N, dalee sledujut N strok, soderzhaschih koordinaty koncov kazhdoj spichki: (x1,y1);(x2,y2). Vyhodnye dannyeRezul'tat raboty programmy zapisyvaetsja v fajl s imenem OUTPUT.TXT, soderzhaschij v pervoj stroke kolichestvo perelozhennyh spichek, dalee sledujut N strok s koordinatami koncov spichek v rezul'tirujuschej figure. Naprimer, dlja figury na ris.1 resheniem javljaetsja figura na ris. 2. Sootvetstvujuschie im fajly INPUT.TXT i OUTPUT.TXT privedeny nizhe. INPUT.TXT: 3 1 0 1 5 2 4 5 0 5 0 8 4 OUTPUT.TXT 1 9 0 9 5 2 4 5 0 5 0 8 4 Primechanija
Stena dlja sostoit iz M rjadov po N odinakovyh kirpichej v kazhdom. Kazhdyj posledujuschij rjad smeschen otnositel'no predyduschego na 1/2 kirpicha (sm. ris. 1). Chetnye rjady sverhu smeschajutsja vlevo, a nechetnye - vpravo. Konfiguracija iz kirpichej javljaetsja ustojchivoj, esli kazhdyj kirpich opiraetsja, po krajnej mere, na odin kirpich v nizhelezhaschim rjadu. Ochevidno, chto iz zadannoj konstrukcii mozhno udalit' nekotorye kirpichi bez poteri ee ustojchivosti. Na ris. 2 izobrazhen primer vozmozhnoj konstrukcii dlja steny na ris. 1. TrebuetsjaNapisat' programmu, kotoraja po zadannym M i N (0<M,N< =1000) i nahodit konstrukciju, poluchajuschujusja iz ishodnoj putem udalenija po vozmozhnosti maksimal'nogo kolichestva kirpichej, chtoby verhnij rjad ostalsja bez izmenenija, a konstrukcija ne poterjala ustojchivost'. Vhodnye dannyeVhodnoj fajl s imenem INPUT.TXT soderzhit kolichestvo rjadov M i shirinu steny N. Vyhodnye dannyeV vyhodnoj fajl s imenem OUTPUT.TXT vyvesti kolichestvo ostavshihsja kirpichej i konfiguraciju steny. Ostavshiesja kirpichi perechisljajutsja nachinaja s verhnego rjada, sleva napravo v kazhdom rjadu (numeracija v kazhdom rjadu nachinaetsja s edinicy). Spisok kirpichej kazhdogo rjada dolzhen zakanchivat'sja chislom 0. Vse chisla v vyhodnom fajle dolzhny razdeljat'sja probelami i (ili) simvolami perevoda stroki. Primer fajla ishodnyh dannyh INPUT.TXT dlja ris. 1: 4 5 Primer vyhodnogo fajla OUTPUT.TXT (sm. ris. 2): 13 1 2 3 4 5 0 2 4 5 0 2 3 5 0 3 5 0 Primechanija
|