Pagini recente » Cod sursa (job #2172433) | Cod sursa (job #950772) | Cod sursa (job #2024194) | Cod sursa (job #876624) | Cod sursa (job #811525)
Cod sursa(job #811525)
#include <fstream>
using namespace std;
bool mat[3501][3502];
int vizitat[3501], x[3501], y[3501], z[3501];
int n, maxim, mmx, lungime;
void dfs(int pct)
{
int i;
if(!mat[pct][0])
{
//vizitat[pct]=1;
if(lungime>maxim)
maxim=lungime;
return;
}
//vizitat[pct]=1;
for(i=1; i<=n; i++)
{
if(mat[pct][i])
{
lungime++;
dfs(i);
//vizitat[i]=maxim;
lungime--;
}
}
}
int main()
{
int i, t, k, j;
ifstream f("cutii.in");
ofstream g("cutii.out");
f>>n>>t;
for(k=1; k<=t; k++)
{
maxim=0;
for(i=1; i<=n; i++)
{
vizitat[i]=0;
f>>x[i]>>y[i]>>z[i];
}
for(i=1; i<=n; i++)
{
mat[i][0]=0;
for(j=1; j<=n; j++)
{
if(x[i]<x[j] && y[i]<y[j] && z[i]<z[j])
{
mat[i][j]=1;
mat[i][0]++;
}
else mat[i][j]=0;
}
}
lungime=1;
for(i=1; i<=n; i++)
{
//if(!vizitat[i])
//{
dfs(i);
//}
}
g<<maxim<<"\n";
}
}