Cod sursă (job #415511)

Utilizator avatar mircearoata Mircea Roata Palade mircearoata IP ascuns
Problemă Beculețe (clasele 9-10) Compilator cpp | 0.77 kb
Rundă Arhiva de probleme Status evaluat
Dată 3 ian. 2019 17:48:35 Scor 30
#include <fstream>
#include <bitset>
#include <cmath>

using namespace std;

ifstream in("beculete.in");
ofstream out("beculete.out");

int n, d, pos=1, startPos;
bitset<50005> b1, b2, b3;

struct becStricat
{
    int l, c;
    bool state;
} v[10005];

int main()
{
    in >> n >> d;
    for(int i = 1; i <= d; i++)
        in >> v[i].l >> v[i].c >> v[i].state;
    startPos = (1 << (int)(log2(v[1].l)));
    for(int i = 1; i <= startPos; i++)
        b3[i] = i%2;
    for(int i = startPos; i <= n; i++)
    {
        b1 = b3;
        b2 = b3 << 1;
        b3 = b1 ^ b2;
        b3[i+1] = 0;
        while(i == v[pos].l)
            b3[v[pos].c] = v[pos].state, pos++;
    }
    for(int j = 1; j <= n; j++)
        out << b3[j] << ' ';
    return 0;
}