Cod sursa(job #1612353)

Utilizator gorni97aaa aaa gorni97 Data 24 februarie 2016 20:14:00
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;
struct p{int x;int y;int z;}v[3501];

int sortare(int i,int j)
{int aux,mod;
mod=1;
while(i<j)
{if(v[i].z>v[j].z)
{aux=v[i].z;
v[i].z=v[j].z;
v[j].z=aux;

aux=v[i].y;
v[i].y=v[j].y;
v[j].y=aux;

aux=v[i].x;
v[i].x=v[j].x;
v[j].x=aux;

mod=1-mod;
}
i=i+mod;
j=j+mod-1;
}

return i;
}


void divide(int i,int j)
{int k;
if(i<j)
{k=sortare(i,j);
divide(i,k-1);
divide(k+1,j);
}}

int main()

{int n,t,i,a,b,j,best[3501],max;
fstream f("cutii.in",ios::in);
fstream g("cutii.out",ios::out);
    f>>n>>t;


for(i=1;i<=t;i++)
{
    for(j=1;j<=n;j++)
{f>>v[j].x>>v[j].y>>v[j].z;best[j]=1;}

divide(1,n);
max=0;
for(a=2;a<=n;a++)
    for(j=1;j<a;j++)
if(v[j].x<v[a].x && v[j].y<v[a].y)
    {best[a]=best[j]+1;
    if(best[a]>max)
        max=best[a];}

    g<<max<<'\n';

}}