Cod sursă (job #118512)

Utilizator avatar andreea_zaharia Zaharia Andreea andreea_zaharia IP ascuns
Problemă Beculețe (clasele 9-10) Compilator cpp | 0,84 kb
Rundă Tema 15 clasele 9-10 2014/15 Status evaluat
Dată 16 feb. 2015 22:14:19 Scor 10
#include <cstdio>
#include <bitset>
#include <iostream>

using namespace std;

#define N 50
#define D 10000

bitset <N> prec (1);
bitset <N> crt (0);
bitset <N> aux (0);

int main () {
    freopen ("beculete.in", "r", stdin);
    freopen ("beculete.out", "w", stdout);

    int n, d, l, c, v, x = 1;
    scanf ("%d%d%d%d%d", &n, &d, &l, &c, &v);

    if (n == 1) {
        printf ("1\n");
        return 0;
    }

    int nc = 2;

    while (nc <= n) {
            //XOR
        aux = prec << 1;
        crt = prec ^ aux;

        while (l == nc && x <= d) {
            crt.set (nc - c, v);
            scanf ("%d%d%d", &l, &c, &v);
            x++;
        }

        prec = crt;
        nc++;
    }

    for (int i = n -1; i >= 0; i--) {
        cout << crt[i] << " ";
    }
    cout << "\n";

    return 0;
}