Diferente pentru problema/convertor intre reviziile #1 si #2

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="convertor") ==
Poveste şi cerinţă...
Ada, Călin şi Andrei s-au săturat de învăţat algoritmică la facultate şi vor să afle lucruri mai practice. Pentru asta, s-au hotărât să aplice la ROSEdu CDL. Din nefericire, organizatorii îi obligă şi aici să rezolve o problemă în care trebuie să facă un algoritm. Noroc că nu e nevoie de prea multe cunoştiinţe legate de complexităţi de timp.
 
Se dă un fişier 'JSON':https://en.wikipedia.org/wiki/JSON în care se află o listă de obiecte. Fiecare obiect conţine o listă de intrări de tipul cheie valoare, unde valoarea poate fi de tip şir de caractere sau un număr întreg. Se cere să se transforme într-un fişier 'CSV':https://en.wikipedia.org/wiki/Comma-separated_values.
h2. Date de intrare
Fişierul de intrare $convertor.in$ ...
Fişierul de intrare $convertor.in$ va conţine un JSON.
h2. Date de ieşire
În fişierul de ieşire $convertor.out$ ...
În fişierul de ieşire $convertor.out$ va conţine CSV-ul transformat.
h2. Restricţii
* $... ≤ ... ≤ ...$
* liniile vor conţine maxim $10.000$ de caractere
* vor fi maxim $1.024$ de linii
h2. Exemplu
table(example). |_. convertor.in |_. convertor.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| [{
    "id": 1,
    "language": "Ruby",
    "usage": "Mainly by hipsters.",
    "power": 4
  }, {
    "id": 2,
    "language": "Python",
    "usage": "Computer scientists and some wannabe hipsters.",
    "power": 2
  }, {
    "id": 3,
    "language": "C++",
    "usage": "Hardcore people who love dangling pointers.",
    "power": 100
  }, {
    "id": 4,
    "language": "Haskell",
    "usage": "A lonely dude in Massachussets.",
    "power": 999999
  }]
| id,language,usage,power
1,Ruby,Mainly by hipsters.,4
2,Python,Computer scientists and some wannabe hipsters.,2
3,C++,Hardcore people who love dangling pointers.,100
4,Haskell,A lonely dude in Massachussets.,999999
...
|
h3. Explicaţie
...
Dacă am fi la un concurs normal pe Infoarena, problema ar fi dată aşa. Dar cum noi vrem să simulăm cât mai bine viaţa reală, fişierul JSON din nefericire nu va fi frumos formatat. Dar vom avea grijă ca el să fie corect. De asemenea, într-un câmp JSON mai poate apărea din când în când câte o virgulă. Dacă se întâmpla asta, atunci toate câmpurile în CSV vor fi despărţite cu 4 virgule. Ultimul lucru trist care se poate întâmpla este ca în interiorul unui câmp să existe ghilimele cu un backslash înainte. Ele vor trebui să fie transformate în ghilimele simple.
 
h2. Exemplu
 
table(example). |_. convertor.in |_. convertor.out |
| [{"name":"University of Bucharest, Faculty of Mathematics and Computer Science", "students": 1000},
{"name": "University \"Politehnica\" of Bucharest, Faculty of Computers and Automatic Control",
    "students": 5000}]
| name,,,,students
University of Bucharest, Faculty of Mathematics and Computer Science,,,,1000
University "Politehnica" of Bucharest, Faculty of Computers and Automatic Control,,,,5000
|
== include(page="template/taskfooter" task_id="convertor") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.