Pagini recente »
Istoria paginii utilizator/teodor_cristian
|
Istoria paginii utilizator/maryy
|
Istoria paginii utilizator/kappa39
|
Istoria paginii utilizator/ungureanulorin
|
Cod sursă (job #578846)
Cod sursă (job
#578846)
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
typedef long long ll;
const ll mod=1e9+7;
const int dx[] = {0, 1, 0, -1};
const int dy[] = {1, 0, -1, 0};
#define rc(x) return cout<<x<<"\n",0
#define sz(s) (int) s.size()
#define pb push_back
#define mp make_pair
#define fr first
#define sc secondne all(x) x.begin(),x.end()
#define allr(x) x.rbegin(),x.rend()
#define PI 3.14159265358979
#define MAX 1600
using namespace std;
ll v[50009];
ll n,d,l,c;
ll val, final;
void primul(int x, int bit) {
unsigned mask=~(1<<(x&31));
v[x>>5]=(v[x>>5]&mask)^(bit<<(x&31));
}
void transfer(int n) {
for(int i=n/32+1; i>=1; i--) {
v[i]^=v[i]<<1;
v[i]^=v[i-1]>>31;
}
v[0]^=v[0]<<1;
}
int valoare(int x) {
return (v[x>>5]>>(x&31))&1;
}
int main() {
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
ifstream cin("beculete.in");
ofstream cout("beculete.out");
cin >> n >> d;
primul(0,1);
for(int i=1; i<n; i++) {
final=valoare(i-1);
transfer(i);
primul(i,final);
while(l<=i) {
if(l==i)primul(c,val);
if(d) {
cin>>l>>c>>val;
l--;
c--;
d--;
}
else l=n;
}
}
for(int i=0; i<n; i++)cout << valoare(i) << " ";
}