Moisil++ 2023 Clasele 7-8 Mirror | No comments

This was the problem page during the contest. Access the current page here.
Time limit: 1s Memory limit: 256MB Input: nocomments.in Output: nocomments.out

Cerință

În C++ există două tipuri de comentarii:

  1. Comentarii de o singură linie:
text1 // comentariu1
text2 // comentariu2
  1. Comentarii de mai multe linii:
text1 /* comentariu1
comentariu2
comentariu3
*/ text2
text3

Comentariile de o singură linie comentează toate caracterele până la finalul liniei, începând cu secvența "//".

Similar, comentariile de mai multe linii comentează toate caracterele aflate între secvențele "/*" și "*/".

De asemenea, secvențele "/*" și "*/" din cadrul unui comentariu de o singură linie și secvențele "//" din cadrul unui comentariu de mai multe linii vor fi ignorate:

// /*
text1
*/
/*
// comentariu1 */
text2
*/

Se dă un fișier text cu mai multe linii care conține litere mici ale alfabetului englez, cifre, caracterele '/' și '*' și spații.

Să se elimine toate comentariile din fișierul dat.

Date de intrare

Fișierul de intrare nocomments.in este format din mai multe linii care conțin litere mici ale alfabetului englez, cifre, caracterele '/' și '*' și spații.

Date de ieșire

Fișierul de ieșire nocomments.out va conține doar caracterele necomentate din nocomments.in.

Orice răspuns care identifică corect cuvintele necomentate, indiferent de spațiile libere dintre acestea, este considerat corect. Un cuvânt este o secvență de litere, cifre, '/' și '*' delimitată de spații.

Restricții și precizări

  • 11 \le numărul de caractere din fișierul de intrare 105+1\le 10^5+1;
  • Nu există niciun comentariu de mai multe linii care să nu fie terminat de secvența "*/";
  • Testele la această problemă nu sunt grupate;
  • Pentru 4040 de puncte, fișierul de intrare are o singură linie;
  • Pentru 2020 de puncte, există doar comentarii de o singură linie;
  • Pentru 2020 de puncte, există doar comentarii de mai multe linii;
  • Pentru restul de 2020 de puncte, nu se impun restricții suplimentare.

Exemplu

nocomments.in

text0
// text1
/*
text2
*/
text3 / text4
//*
text5
*/
/*/*
//text6
text7
*//
text8
*/
/**text9*/
///text10
/*
/*/ text11 */

nocomments.out

text0
text3 / text4
text5
*/
/
text8
*/
text11 */

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