Cod sursă (job #819747)

Utilizator avatar dgriga Griga Darius dgriga IP ascuns
Problemă Beculețe (clasele 9-10) Compilator cpp-32 | 1,05 kb
Rundă oni_bv_6 Status evaluat
Dată 9 apr. 2025 13:06:38 Scor 30
#include <bits/stdc++.h>

using namespace std;
ifstream f("beculete.in");
ofstream g("beculete.out");
bitset <50005> v, newv;
int l[10005], c[10005], mod[10005];
void nextvec(int newlung)
{
    newv[1]=v[1];
    for(int i=2; i<=newlung-1; i++)
    {
        if(v[i]!=v[i-1])
            newv[i]=1;
        else
            newv[i]=0;
    }
    newv[newlung]=v[newlung-1];
    for(int i=1; i<=newlung; i++)
        v[i]=newv[i];
}
int main()
{
    int n, d, lvector=2, citit=1;
    f >> n >> d;
    v[1]=1;
    bool finished=false;
    for(int i=1; i<=d; i++)
    {
        f >> l[i] >> c[i] >> mod[i];
    }
    int i=1;
    l[d+1]=5000005;
    c[d+1]=5000005;
    while(1)
    {
        if(l[i]>lvector-1)
            nextvec(lvector), lvector++;
        else
        {
            v[c[i]]=mod[i];
            i++;
        }
        if(lvector>n)
            break;
    }
    while(i<=d)
    {
        v[c[i]]=mod[i];
        i++;
    }
    for(int j=1; j<=lvector-1; j++)
        g << v[j] << " ";
    return 0;
}