Dīvainā kārtošana

Stāsts
Aplūkosim šādu visai dīvainu naturālu skaitļu kārtošanas algoritmu: No dotajiem skaitļiem izvēlas mazāko skaitli - tas sakārtotajā virknē būs pirmais loceklis . No atlikušajiem skaitļiem izvēlas mazāko skaitli, kura ciparu summa ir lielāka par ciparu summu - tas sakārtotajā virknē būs otrais loceklis . No atlikušajiem skaitļiem izvēlas mazāko skaitli, kas vienlaikus ir lielāks par un kura ciparu summa ir lielāka par ciparu summu. Tas būs . Tā turpina, kārtējam iegūtajam virknes loceklim no atlikušajiem skaitļiem meklējot mazāko skaitli, kurš gan pats ir lielāks par , gan kura ciparu summa ir lielāka par ciparu summu. Un šāds skaitlis kļūst par sakārtotās skaitļu virknes nākamo locekli .
Ja kādā brīdī šo procesu turpināt nav iespējams (no atlikušajiem skaitļiem neviens neatbilst iepriekšminētajiem kritērijiem), kā nākamais virknes loceklis tiek izvēlēts mazākais no atlikušajiem skaitļiem un process tiek turpināts līdz visi skaitļi ir apstrādāti.
Piemēram, ja doti skaitļi , tad sakārtotā virkne tiek iegūta šādi:
- (mazākais skaitlis starp dotajiem),
- (, ciparu summas: ),
- (),
- (),
- (),
- (mazākais no atlikušajiem),
- (),
- (),
- (mazākais no atlikušajiem),
- ().
Tādējādi sakārtotā skaitļu virkne ir šāda: .
Uzrakstiet datorprogrammu, kas dotos naturālos skaitļus sakārto pēc aprakstītā algoritma!
Ievaddati
Pirmajā rindā dots skaitļu skaits - naturāls skaitlis ().
Otrajā rindā doti naturāli skaitļi. Zināms, ka neviena skaitļa vērtība nepārsniedz .
Starp katriem diviem blakus skaitļiem ievaddatos ir tukšumzīme.
Izvaddati
Izvaddatu vienīgajā rindā jābūt naturāliem skaitļiem - sakārtotajai skaitļu virknei. Starp katriem diviem blakus skaitļiem jābūt tukšumzīmei.
Piemēri
Ievaddati
10
21 13 7 5 118 129 19 90 74 118
Izvaddati
5 7 19 74 129 13 90 118 21 118
Piezīme:
Atbilst piemēram uzdevuma tekstā.
Ievaddati
8
11 12 21 22 11 12 21 22
Izvaddati
11 12 22 11 12 22 21 21
Izpildes resursu ierobežojumi
Apakšuzdevumi un to vērtēšana
| # | Apakšuzdevuma apraksts | Punkti |
|---|---|---|
| 1. | Jāatrisina uzdevuma tekstā dotie trīs piemēri. | 2 |
| 2. | un visi skaitļi ir atšķirīgi. | 13 |
| 3. | . | 10 |
| 4. | un zināms, ka rezultāta virknē ne vairāk kā dažādām vērtībām . | 15 |
| 5. | un visi skaitļi ir atšķirīgi. | 15 |
| 6. | . | 15 |
| 7. | Bez papildu ierobežojumiem. | 30 |
1. apakšuzdevuma ievaddati
10
34 62 86 39 18 3 36 40 25 12
12
90 98 99 97 105 103 101 91 109 104 107 107
12
740 1036 1073 999 925 851 777 777 1073 888 999 999
Dīvainā kārtošana

Stāsts
Aplūkosim šādu visai dīvainu naturālu skaitļu kārtošanas algoritmu: No dotajiem skaitļiem izvēlas mazāko skaitli - tas sakārtotajā virknē būs pirmais loceklis . No atlikušajiem skaitļiem izvēlas mazāko skaitli, kura ciparu summa ir lielāka par ciparu summu - tas sakārtotajā virknē būs otrais loceklis . No atlikušajiem skaitļiem izvēlas mazāko skaitli, kas vienlaikus ir lielāks par un kura ciparu summa ir lielāka par ciparu summu. Tas būs . Tā turpina, kārtējam iegūtajam virknes loceklim no atlikušajiem skaitļiem meklējot mazāko skaitli, kurš gan pats ir lielāks par , gan kura ciparu summa ir lielāka par ciparu summu. Un šāds skaitlis kļūst par sakārtotās skaitļu virknes nākamo locekli .
Ja kādā brīdī šo procesu turpināt nav iespējams (no atlikušajiem skaitļiem neviens neatbilst iepriekšminētajiem kritērijiem), kā nākamais virknes loceklis tiek izvēlēts mazākais no atlikušajiem skaitļiem un process tiek turpināts līdz visi skaitļi ir apstrādāti.
Piemēram, ja doti skaitļi , tad sakārtotā virkne tiek iegūta šādi:
- (mazākais skaitlis starp dotajiem),
- (, ciparu summas: ),
- (),
- (),
- (),
- (mazākais no atlikušajiem),
- (),
- (),
- (mazākais no atlikušajiem),
- ().
Tādējādi sakārtotā skaitļu virkne ir šāda: .
Uzrakstiet datorprogrammu, kas dotos naturālos skaitļus sakārto pēc aprakstītā algoritma!
Ievaddati
Pirmajā rindā dots skaitļu skaits - naturāls skaitlis ().
Otrajā rindā doti naturāli skaitļi. Zināms, ka neviena skaitļa vērtība nepārsniedz .
Starp katriem diviem blakus skaitļiem ievaddatos ir tukšumzīme.
Izvaddati
Izvaddatu vienīgajā rindā jābūt naturāliem skaitļiem - sakārtotajai skaitļu virknei. Starp katriem diviem blakus skaitļiem jābūt tukšumzīmei.
Piemēri
Ievaddati
10
21 13 7 5 118 129 19 90 74 118
Izvaddati
5 7 19 74 129 13 90 118 21 118
Piezīme:
Atbilst piemēram uzdevuma tekstā.
Ievaddati
8
11 12 21 22 11 12 21 22
Izvaddati
11 12 22 11 12 22 21 21
Izpildes resursu ierobežojumi
Apakšuzdevumi un to vērtēšana
| # | Apakšuzdevuma apraksts | Punkti |
|---|---|---|
| 1. | Jāatrisina uzdevuma tekstā dotie trīs piemēri. | 2 |
| 2. | un visi skaitļi ir atšķirīgi. | 13 |
| 3. | . | 10 |
| 4. | un zināms, ka rezultāta virknē ne vairāk kā dažādām vērtībām . | 15 |
| 5. | un visi skaitļi ir atšķirīgi. | 15 |
| 6. | . | 15 |
| 7. | Bez papildu ierobežojumiem. | 30 |
1. apakšuzdevuma ievaddati
10
34 62 86 39 18 3 36 40 25 12
12
90 98 99 97 105 103 101 91 109 104 107 107
12
740 1036 1073 999 925 851 777 777 1073 888 999 999