아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

ŠIFRAT

면접 대비

시간 제한1초메모리 제한1024 MB

요약
키에서 정확히 X개의 자릿수를 골라 합이 Z가 되는 모든 조합을 찾아, 사용한 위치를 1로 표시한 비트열을 출력한다.
난이도

보통10점 중 4점

유형
백트래킹, 완전 탐색, 재귀
정답자
아직 제출이 없습니다

문제

Ivica proučava kriptografiju, znanost koja se bavi šifriranjem i slanjem poruka u takvom obliku da ih samo onaj kome su namijenjene može pročitati. Pronašao je metodu za šifriranje koja odabranu znamenku Z pretvara u zapis (šifrat) koji se sastoji od K nula i jedinica. Prvo se odabere neki ključ. Ključ je uzlazno sortiran niz od K ne nužno različitih znamenki (npr. ako je K=5 tada su „01248“, „12345“, „00122“ neki od mogućih ključeva).

Ako je znamenku Z moguće izraziti kao zbroj od X znamenki koje se pojavljuju u ključu, tada će na itom mjestu, gledajući s lijeva, u šifratu znamenke Z pisati „1“ ako je na i-tom mjestu u ključu, isto gledajući s lijeva, znamenka koja sudjeluje u zbroju. Inače na tom mjestu u šifratu piše „0“. Ako postoji više mogućih šifrata znamenke Z, tada ih treba sve ispisati. Svaku znamenku iz ključa u zbroju smijete iskoristiti najviše jednom.

Npr. ako je Z=8, K=5, X=2, a odabrani ključ „01236“, tada je traženi šifrat oblika „00101“ jer se 8 može izraziti kao zbroj dvije znamenke iz ključa na samo jedan način (2+6=8, „01236“ → „00101“).

Napiši program koji za zadanu znamenku Z, brojeve K i X te ključ duljine K određuje i ispisuje šifrat (ili šifrate) znamenke Z na opisani način. Zadanu znamenku uvijek će biti moguće šifrirati.

입력

U prvom retku nalazi se prirodan broj K (1 ≤ K ≤ 20), duljina ključa iz teksta zadatka.

U drugom retku nalazi se niz od K znamenki, ključ iz teksta zadatka.

U trećem retku nalazi se prirodan broj X (1 ≤ X ≤ K) iz teksta zadatka.

U četvrtom retku nalazi se znamenka Z (0 ≤ Z ≤ 9) iz teksta zadatka.

출력

Traženi šifrat ili šifrati znamenke Z, svaki u svom retku. Redoslijed ispisa nije bitan.

힌트

Opis prvog test podatka: „01247“ → 1+4=5 → 01010

Opis drugog test podatka: „001234“ → 0+2+4 → 100101; „001234“ → 0+2+4 → 010101; „001234“ → 1+2+3 → 001110;

예제3

  1. 예제 1

    입력
    5
    01247
    2
    5
    
    예상 출력
    01010
    
  2. 예제 2

    입력
    6
    001234
    3
    6
    
    예상 출력
    100101
    010101
    001110
    
  3. 예제 3

    입력
    5
    01236
    2
    8
    
    예상 출력
    00101