Diferente pentru problema/convertor intre reviziile #3 si #32

Nu exista diferente intre titluri.

Diferente intre continut:

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.
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 un ş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
h2. Date de ieşire
În fişierul de ieşire $convertor.out$ va conţine CSV-ul transformat.
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
* fiecare linie va conţine maxim $1.024$ de caractere
* pentru 70 de puncte, vor fi maxim $1.024$ de linii în fişier
* pentru 100 de puncte, vor fi maxim $10.128$ de linii în fişier
h2. Exemplu
    "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
| 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,
|
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.
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.
h2. Exemplu
table(example). |_. convertor.in |_. convertor.out |
| [{"name"  :        "Universitatea din Bucuresti, FMI",
"students"      : 1000},
{"name": "Universitatea \"Politehnica\" din Bucuresti, ACS",
    "students": 5000}, {    "name"  :  "UBB Cluj", "students":    3000}]
| name,,,,students
University of Bucharest, FMI,,,,1000
University "Politehnica" of Bucharest, ACS,,,,5000
UBB Cluj,,,,3000
| [ { "name": "Ruby on Rails", "commits": 49507, "contributors":  429,
"last commit" : "an hour ago" }, {"name": "jQuery", "commits":     5745,
"contributors"  : 213, "last commit":    "4 days ago" }, {"name": "React",
"commits" : 3557,   "contributors":  288, "last commit": "5 hours ago"} ]
| name,commits,contributors,last commit,
Ruby on Rails,49507,429,an hour ago,
jQuery,5745,213,4 days ago,
React,3557,288,5 hours ago,
|
h2. Note
* Fişierul valorile din cheile JSON sunt mereu şiruri de caractere sau numere întregi. Nu există alte obiecte imbricate în valori.
* Valorile din cheile JSON sunt mereu şiruri de caractere sau numere întregi. Nu există alte obiecte imbricate în valori.
* Se garantează că fiecare obiect va conţine aceleaşi chei, ele vor fi în aceiaşi ordine şi vor avea acelaşi tip.
* Şirurile de caractere vor încăpea mereu pe aceiaşi linie.
*
 
* Nu vor exista caracterul $newline$, $ghilimele$ sau $paranteze$ in interiorul unei chei sau al unei valori.
* În JSON, acoladele, parantezele drepte, virgulele şi semnul $două puncte$ pot fi separate prin mai multe spaţii sau linii goale.
* Liniile din CSV-urile vor conţine la sfârşit mereu o virgulă.
* Soluţiile se pot trimite pe Infoarena doar în C, C++, Pascal şi Java
* Java este încă în beta pe Infoarena. 'Citiţi':http://www.infoarena.ro/forum/index.php?topic=10165.0 aici cum se foloseşte si 'aici':http://www.infoarena.ro/job_detail/1182298?action=view-source este un template.
== include(page="template/taskfooter" task_id="convertor") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
10287