Pagini recente » Cod sursa (job #814814) | Cod sursa (job #3122052) | Cod sursa (job #1787816) | Cod sursa (job #2334090) | Cod sursa (job #287771)
Cod sursa(job #287771)
#include<fstream>
#include<algorithm>
#define NMAX 3505
std::ifstream f("cutii.in");
std::ofstream g("cutii.out");
int n,t,i,j,k,max,p=0;
char s[1024];
struct nod
{ int x,y,z;
int in;
} box[NMAX];
bool fcomp(nod a,nod b)
{ return a.z<b.z;
}
void cit(int &x)
{ while(s[p]<'0'||s[p]>'9') { ++p;
if(p==1024) f.read(s,1024),p=0;
}
x=0;
while(s[p]>='0'&&s[p]<='9') { x=(x<<3)+(x<<1)+s[p]-'0';
++p;
if(p==1024) f.read(s,1024),p=0;
}
}
int main()
{ f>>n>>t;
f.read(s,1024);
for(k=1;k<=t;++k) { for(i=1;i<=n;++i) cit(box[i].x),cit(box[i].y),cit(box[i].z),box[i].in=0;
std::sort(box+1,box+n+1,fcomp);
for(i=1;i<n;++i) for(j=i+1;j<=n;++j) if(box[i].x<box[j].x&&box[i].y<box[j].y) if(box[j].in<box[i].in+1) box[j].in=box[i].in+1;
max=0;
for(i=1;i<=n;++i) if(box[i].in>max) max=box[i].in;
++max;
g<<max<<"\n";
}
f.close();
g.close();
return 0;
}