Fișierul intrare/ieșire decodare.in, decodare.out Sursă ad-hoc
Autor Cristian Frâncu | Victor Manz Adăugată de avatar Catalin.Francu Cătălin Frâncu Catalin.Francu
Timp de execuție pe test 0.1 sec Limită de memorie 10000 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Decodare

Fie trei numere naturale N, K și D. Considerăm toate șirurile descrescătoare de lungime K formate cu numere din mulțimea {1, 2, ..., N} pentru care diferența între oricare doi termeni consecutivi este cel puțin D. Ordonăm aceste șiruri în ordine lexicografică și codificăm fiecare șir prin numărul lui de ordine, începând cu 1. Dându-se M coduri C1, C2, ..., CM, să se decodifice și să se tipărească șirurile corespunzătoare.

Date de intrare

Fișierul de intrare decodare.in conține pe prima linie numerele N, K, D și M, în această ordine. Pe linia a doua se află cele M coduri, separate prin spații.

Date de ieșire

În fișierul de ieșire decodare.out se vor scrie cele M șiruri corespunzătoare, în ordinea dată de codurile de intrare. Fiecare șir va fi scris pe o linie separată, cu elementele separate prin spații.

Restricții

  • 1 ≤ K ≤ N ≤ 1.000
  • (K – 1) * D < N (se poate întotdeauna genera cel puțin un șir cu proprietățile date)
  • 1 ≤ M ≤ 10
  • 1 ≤ CiTOTAL, unde 1 ≤ i ≤ M iar TOTAL este numărul total de șiruri cu proprietățile date
  • 1 ≤ Ci ≤ 1015

Exemplu

decodare.in decodare.out explicație
7 3 2 3
1 6 10
5 3 1
7 4 1
7 5 3
Există 10 șiruri cu proprietățile date, respectiv:
5 3 1
6 3 1
6 4 1
6 4 2
7 3 1
7 4 1
7 4 2
7 5 1
7 5 2
7 5 3

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii