Pagini recente »
Istoria paginii runda/lmk_1
|
Borderou de evaluare (job #565549)
|
Borderou de evaluare (job #508727)
|
Profil TeoR.
|
Cod sursă (job #491899)
Cod sursă (job
#491899)
#include <bits/stdc++.h>
using namespace std;
ifstream in("beculete.in");
ofstream out ("beculete.out");
struct bec{
int linie;
int coloana;
bool valoare;
};
bool sortare (bec a, bec b)
{
if(a.linie != b.linie)
return a.linie<b.linie;
return a.coloana<b.coloana;
}
bool lum[3][50005];
int main()
{
bec v[10005];
int n,d,i,l,c,va,lmin=INT_MAX,k,l1,j;
in>>n>>d;
for(i=1; i<=d; i++)
{
in>>l>>c>>va;
v[i].linie=l;
v[i].coloana=c;
v[i].valoare=va;
lmin=min(l,lmin);
}
sort(v+1,v+d+1, sortare);k=1;
l1=pow(2,int(log10(lmin)/log10(2)));
for(i=1; i<=l1; i++)
{
if(v[k].linie==l1 && v[k].coloana==i)
lum[1][i]=v[k].valoare,k++;
else
lum[1][i]=1;
}
for(i=l1+1; i<=n; i++)
{
for( j=2; j<=i-1; j++)
{
if(lum[1][j-1]+lum[1][j]==1)
lum[2][j]=1;
else
lum[2][j]=0;
}
lum[2][1]=lum[1][1];
lum[2][i]=lum[1][i-1];
for(j=1; j<=i; j++)
lum[1][j]=lum[2][j];
}
for(i=1; i<=n; i++)
out<<lum[2][i]<<" ";
return 0;
}