Binster

Time limit: 0.2s Memory limit: 32MB Input: binster.in Output: binster.out


Într-un regat îndepărtat al numerelor binare trăiau patru frați: A,B,CA, B, C și DD. Fiecare avea o dorință precisă, să vadă de câte ori apare perechea lui preferată într-un șir secret de 00 și 11.

Fratele AA iubea liniștea perechii 0000, BB adora trecerea lină de la 00 la 11, CC era fascinat de schimbarea bruscă de la 11 la 00, iar DD venera tăria perechii 1111.

Regele Biton, conducătorul regatului binar, a primit o misiune grea: să construiască un șir SS care să le împlinească dorințele tuturor, astfel încât:

  • 0000 să apară exact de AA ori,
  • 0101 să apară exact de BB ori,
  • 1010 să apară exact de CC ori,
  • 1111 să apară exact de DD ori.

Dacă regele reușea, regatul rămânea în echilibru, altfel, haosul logicii binare se abătea peste lume.

Se spune că doar cei care înțeleg echilibrul dintre numărul de tranziții și blocurile de biți pot găsi șirul perfect.

Cerință

Vi se dau patru numere naturale A,B,C,DA, B, C, D. Construiți un șir binar SS astfel încât:

  • 0000 să apară exact de AA ori,
  • 0101 să apară exact de BB ori,
  • 1010 să apară exact de CC ori,
  • 1111 să apară exact de DD ori.

Date de intrare

Fișierul de intrare binster.in conține patru numere naturale, A,B,C,DA,B,C,D, cu semnificația din enunț.

Date de ieșire

Pe prima linie a fișierului de ieșire binster.out se va afișa DADA sau NUNU, dacă este sau nu posibilă construcția lui SS, iar dacă aceasta este posibilă, atunci pe a doua linie o configurație validă a acestuia.

Restricții și precizări

  • Un șir binar este un șir format doar din 00 și 11
  • Orice configurație validă este acceptată.
  • Lungimea șirului trebuie să fie cel mult 4 000 0014 \ 000 \ 001 și minim 22.
# Punctaj Restricții
1 10 0A,B,C,D100\leq A,B,C,D \leq 10
2 15 B=C=0,0A,D106B=C=0, 0\leq A,D\leq 10^{6}
3 75 0A,B,C,D1060\leq A,B,C,D \leq 10^{6}

Exemplul 1

binster.in

1 1 0 0

binster.out

DA
001

Explicație

Există o grupare 00 și o grupare 01.

Exemplul 2

binster.in

2 2 1 1

binster.out

DA
0010011

Explicație

Există două grupări 00, două grupări 01, o grupare 10 și o grupare 11.

Exemplul 3

binster.in

3 2 2 2 

binster.out

DA
0000111010

Explicație

Există trei grupări 00, două grupări 01, două grupări 10 și două grupări 11.

Exemplul 4

binster.in

0 3 1 0 

binster.out

NU 

Explicație

Nu există niciun șir care să satisfacă condițiile.

Log in or sign up to be able to send submissions!