.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » spioni1

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
spioni1


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
32MB / 32MB

Gigel si Ionel se joacă de-a spionii! De aceea ei imaginează o modalitate de a codifica un mesaj astfel încât nimeni să nu îl poată descifra. Toate mesajele lor au lungimea o putere a lui 2. Ei numerotează literele mesajului începând cu 1. Apoi separă literele în două categorii: cele cu număr de ordine impar în stânga, cele cu numar de ordine par în dreapta, păstrând ordinea lor. Procedeul continuă pentru fiecare grupă nou rezultată începând cu cea din stânga, până când fiecare grupă obţinută conţine un singur caracter. După terminarea operaţiilor alipesc grupele de câte o literă rezultate, începând de la stânga spre dreapta şi obţin mesajul codificat.
De exemplu pentru mesajul MESAJNECODIFICAT procedează astfel:
1. numerotează
MESAJNECODIFICAT
123456789...

2. separă



până se obţine un singur caracter în fiecare grupă şi alipind literele de la stânga spre dreapta rezultă mesajul codificat:
MOJISIEAEDNCAFCT

Cerinţă

Scrieţi un program care să rezolve următoarele două cerinţe:
1. dat fiind un mesaj, să determine codificarea acestuia;
2. dat fiind un mesaj codificat, să determine decodificarea acestuia.

Date de intrare

Pe prima linie a fişierului de intrare spioni1.in se găseşte un caracter C sau D, indicând faptul că se doreşte Codificarea, respectiv Decodificarea mesajului de pe linia a doua. Linia a doua a fişierului de intrare conţine un şir de caractere.

Date de ieşire

Fişierul de ieşire spioni1.out va conţine o singură linie pe care se va scrie mesajul codificat (în cazul în care prima linie a fişierului de intrare conţine C), respectiv mesajul decodificat (în cazul în care prima linie a fişierului de intrare conţine D).

Restricţii

• Şirul de caractere din fişierul de intrare conţine caractere având coduri ASCII cuprinse între 33 şi 127, lungimea şirului fiind o putere a lui 2 cuprinsă între 2 şi 4096.
• Pentru teste valorând 50% din punctaj fişierul de intrare conţine pe prima linie C.

Exemple

spioni1.inspioni1.out
C MESAJNECODIFICAT MOJISIEAEDNCAFCT
D MOJISIEAEDNCAFCT MESAJNECODIFICAT

autor: Prof. Marinel Şerban
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la ONIG 2015: cript, scadere, tv1, nebuni, ssk, magic7, restaurare, sort2dist, echer, lightbot, teren1, iepuras1, inventie
De acelaşi autor: premii, finala, fractii, trei, manevre, nrcuv, an, vopsea, opmat, tramvai, bipal, kpal, sarpe, replace, factori, barca, perechi, grupe, cod, reactii, factura, decript, trenuri, holo, cifre, firma, tribile, mesaj, tricouri, pajura, monede, programs, fry, repeat, red, pavaj, bacan, nrbinar, invest, cutie2, loc, depou, nr3, zid, felinare, sir3, sqr, carte, labirint, stea, count, evaluare, super, schimb, zaruri, vectori, spirala, desen1, rima, ceas1, romane, sms, bac, excursia, joc7, furnici, munte1, cezar, marcare, excursie1, culmi, sume1, schi, nr4, fractie, cod3, medii, tren3, top, sant1, imagine, ocr, perfect, pluton, reforma, alee, ceas2, paritate, borcane, aranjare, comoara1, culmi1, reactivi, submult, sablon1, sir8, sume2, dansatori, smith, tom, matriosca, asociativ, control1, calorii, immortal, concat, mat, cubinvers, mine, divizori, cheie, stelar, joct, minmax, cladire, adunscad, razboi, ore, oras1, sumprod, prisme, operatii1, lgdrum, unupatru, chibrituri, extraprime, prieten, rebus1, grindina, opmult, betisoare, antitero, clase, pagini, ornament, ordine
Despre şiruri de caractere: scp, ab, sl, nrcuv, rv, kpal, chimie, reteta, replace, grad, index, cod, text, decript, spam, complex, cifre, anagrame, balbe, criptmat, mesaj, maxim, astre, sablon, formule, ed, balls, vocale, prop, bacan, novel, bitslang, text2, ref, scor2, convert, cod2, compress, pstring, sub, rima, program1, sms, circular, randuri, cezar, bifo, joc9, pal, bare, joc12, fractie, cod3, tunel, csir, top, ratina, cifru1, limbaj, adun, ecuatii, dir, paritate, virus, sir6, mesaj2, text1, sirul, ogorul, rez, sablon1, anag, sir8, seti, secvsir, dp, cuvant, strings, antipatie, fractie1, links, ordonare, text3, concat, codif, cheie, alfabetar, cuvinte2, comp, litere, mxl, mesaj3, expresie2, grad2, antic, zuma, expeval, combcuv, lgdrum, subtitrare, compresie, zigzag, azeval, fraze, subsecvente, showroom, rebus1, agenda, opmult, betisoare, reziston, clase, vot2, ecp, smiley, charlie, cript, scadere, sablon3, expand, culori3, virgule
Chestionare recomandate
surse trimise | ajutor