Cod sursa(job #3137572)

Utilizator SSKMFSS KMF SSKMF Data 13 iunie 2023 16:12:25
Problema Schi Scor 55
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <fstream>
using namespace std;

ifstream cin ("schi.in");
ofstream cout ("schi.out");

struct Nod {
    int valoare;
    Nod *urmatorul;
} *inceput;

int main ()
{
    int participanti , loc;
    cin >> participanti >> loc;

    inceput = new Nod;
    inceput -> valoare = 1;
    inceput -> urmatorul = NULL;
    for (int indice = 2 ; indice <= participanti ; indice++)
    {
        cin >> loc;

        if (loc == 1)
        {
            Nod *nod_intermediar = new Nod;
            nod_intermediar -> valoare = indice;
            nod_intermediar -> urmatorul = inceput;
            inceput = nod_intermediar;
        }
        else
        {
            Nod *nod_anterior = inceput , *nod_actual = inceput;
            while (--loc) {
                nod_anterior = nod_actual;
                nod_actual = nod_actual -> urmatorul;
            }

            Nod *nod_intermediar = new Nod;
            nod_intermediar -> valoare = indice;
            nod_intermediar -> urmatorul = nod_actual;
            nod_anterior -> urmatorul = nod_intermediar;
        }
    }

    for (Nod *nod_actual = inceput ; nod_actual != NULL ; nod_actual = nod_actual -> urmatorul)
        cout << nod_actual -> valoare << '\n';

    cout.close(); cin.close();
    return 0;
}