Cod sursa(job #965118)

Utilizator proflaurianPanaete Adrian proflaurian Data 23 iunie 2013 13:44:15
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdio>
#define Max solc>aib2d[x][y]?solc:aib2d[x][y]
#define forxy for(x=X[i]-1;x;x-=x&(-x))for(y=Y[i]-1;y;y-=y&(-y))
#define Forxy for(x=X[i];x<=n;x+=x&(-x))for(y=Y[i];y<=n;y+=y&(-y))
using namespace std;
int n,t,i,x,y,sol,solc,aib2d[3501][3501],X[3501],Y[3501];
int main()
{
    freopen("cutii.in","r",stdin);
    freopen("cutii.out","w",stdout);
    scanf("%d%d",&n,&t);
    for(;t;t--)
    {
        for(x=1;x<=n;x++){scanf("%d",&i);scanf("%d%d",&X[i],&Y[i]);}
        sol=0;
        for(i=1;i<=n;i++){solc=0;forxy solc=Max;solc++; Forxy aib2d[x][y]=Max;sol=sol>solc?sol:solc;}
        printf("%d\n",sol);
        for(i=1;i<=n;i++) Forxy aib2d[x][y]=0;
    }
    return 0;
}