Pagini recente »
OJI 2023 Clasa a VI-a - Antrenament - FFA v2.1
|
Borderou de evaluare (job #173886)
|
Borderou de evaluare (job #703669)
|
Monitorul de evaluare
|
Cod sursă (job #118779)
Cod sursă (job
#118779)
#include<cstdio>
#define MAX_N 50000
using namespace std;
unsigned long long v[2][MAX_N/64+2];
int main(){
freopen ("beculete.in","r",stdin);
freopen ("beculete.out","w",stdout);
int n,i,d,j,k=1,aux=0,l,c,b;
unsigned long long p,v1=1;
scanf ("%d%d",&n,&d);
scanf ("%d%d%d",&l,&c,&b);
v[0][1]=(v1<<63);
if (l==1){
if (b==0) v[0][1]=0;
if (d>1) scanf ("%d%d%d",&l,&c,&b);
else l=n+1;
k=2;
}
for(i=2;i<=n;i++){
for(j=1;j<=i/64+1;j++)
v[aux^1][j]=v[aux][j]^((v[aux][j]>>1)+((v[aux][j-1]&1)<<63));
aux^=1;
while(l==i &&k<d){
if (b==1)
v[aux][(c-1)/64+1]=v[aux][(c-1)/64+1]|(v1<<(63-((c-1)&63)));
else v[aux][(c-1)/64+1]=v[aux][(c-1)/64+1]&(~(v1<<(63-((c-1)&63))));
scanf ("%d%d%d",&l,&c,&b);
k++;
}
if (l==i){
if (b==1)
v[aux][(c-1)/64+1]=v[aux][(c-1)/64+1]|(v1<<(63-((c-1)&63)));
else v[aux][(c-1)/64+1]=v[aux][(c-1)/64+1]&(~(v1<<(63-((c-1)&63))));
}
}
for(i=1;i<=n;i++){
p=(v1<<63);
while(p>0 &&i<=n){
if ((v[aux][(i-1)/64+1]&p)==0) printf ("0 ");
else printf ("1 ");
p/=2;
i++;
}
}
return 0;
}