Cod sursa(job #18423)

Utilizator sigridMaria Stanciu sigrid Data 18 februarie 2007 12:07:30
Problema Plantatie Scor 30
Compilator cpp Status done
Runda preONI 2007, Runda 2, Clasa a 10-a Marime 0.77 kb
#include<fstream.h>
#define dim 250001
struct plant
{unsigned long val;
 int x;
 int y;
};
plant v[dim];
plant man;
ifstream f("plantatie.in");
ofstream g("plantatie.out");
int n,x1,y1,i,j,ok,k;
unsigned long m,nn,n2,c,poz;
int main()
{f>>n>>m;
 nn=1;
 for(i=1;i<=n;i++)
  for(j=1;j<=n;j++)
   {f>>v[nn].val;
    v[nn].x=i;
    v[nn].y=j;
    nn++;
   }
 n2=nn-1;ok=1;
 do
  {ok=0;
   for(c=1;c<=n2;c++) if(v[c].val<v[c+1].val)
			{ok=1;
			 man=v[c];
			 v[c]=v[c+1];
			 v[c+1]=man;
			 poz=c;
			}
   n2=poz;
  }
 while(ok);
 nn--;
 for(n2=1;n2<=m;n2++)
  {f>>x1>>y1>>k;
   for(c=1;c<=nn;c++)
    {if((v[c].x>=x1)&&(v[c].x<(x1+k))&&(v[c].y>=y1)&&(v[c].y<(y1+k)))
	{g<<v[c].val<<'\n';break;}
    }
  }
f.close();
g.close();
return 0;
}