Cod sursa(job #122400)
| Utilizator | Data | 12 ianuarie 2008 10:22:42 | |
|---|---|---|---|
| Problema | Hvrays | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<stdio.h>
#define Nm 2501
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
int M[Nm][Nm];
int main()
{
int c,v,i;
for(v=1;v<Nm;++v)
M[1][v]=v;
for(c=2;c<Nm;++c)
{
for(v=1;v<Nm;++v)
{
M[c][v]=v;
for(i=1;i<=v;++i)
M[c][v]=min(M[c][v],1+max(M[c][v-i],M[c-1][i-1]));
}
for(v=1;v<Nm;++v)
if(M[c][v]!=M[c-1][v])
break;
if(v==Nm)
break;
}
return 0;
}
