Tugagan
B. Sirli xabar va “tez-tez uchraydigan sonlar” qoidasi
700 ball
Anvar– mohir kod buzuvchi. U har qanday shifrlangan xabarni sonlarning tez-tez uchrashini topish orqali yechish mumkin deb o‘ylaydi. Haqiqiy texnika bu emas, lekin Anvar uchun yetarli.
U dushman xabarini qo‘lga kiritdi. Xabar N ta butun sondan iborat, va har bir son C dan kichik yoki teng.
Anvarning fikricha, xabarni “frequency analysis” qilish degani – sonlarni ko'p uchraydiganidan kam uchraydiganiga qarab tartiblash.
Aniqroq qilib aytganda:
- Xabarni shunday tartiblangki, har qanday ikkita son X va Y uchun:
- Agar X soni original xabarda Y sonidan ko‘proq uchragan bo‘lsa, X soni oldin keladi
- Agar X va Y sonlari bir xil marta uchragan bo‘lsa, qaysi biri original xabarda dastlab kelsa, shunisi oldin turadi
Kirish ma’lumotlari
Birinchi qatorda ikkita butun son - N, C , mos ravishda xabarning uzunligi va sonlarning maksimal qiymati kiritiladi. (1 ≤ N ≤ 1000, 1 ≤ C ≤ 10⁹)
Ikkinchi qatorda N butun son kiritiladi.
Chiqish ma’lumotlari
Xabarni Anvar uslubida tartiblab chop eting.
Misollar
Kirish
10 5 5 3 5 2 3 5 2 4 2 3
Chiqish
5 5 5 3 3 3 2 2 2 4
Kirish
6 100 7 7 100 7 100 1
Chiqish
7 7 7 100 100 1
Qoralama doskasi
Kod yozish
Kod yuborish
15 ta test
Yechim yuborish uchun
tizimga kiring.