Pagini recente » Cod sursa (job #1201104) | Cod sursa (job #649901) | Cod sursa (job #2118434) | Cod sursa (job #2696347) | Cod sursa (job #1599292)
#include <fstream>
#include <iostream>
#include <queue>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("luna.in");
ofstream fout("luna.out");
int i,j,n,m,a,b,k,x,lx,ly,c,mini;
int v[55][55],ff[5005];
int parcele[2551][51];
queue <pair<int,int> > q;
int main()
{
fin>>n>>m;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
fin>>v[i][j];
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
{
if(v[i][j] == 0)
continue;
mini = 1000;
c = v[i][j];
ff[c]++;
for(a = 0; a + i <= n && v[i + a][j] == c; a++)
{
for(b = 0; b + j <= m && v[i + a][j + b] == c; b++) v[i + a][j + b] = 0;
mini = min(mini, b);
a++;
parcele[v[i][j]][max(mini,a)] = max(min(mini,a), parcele[v[i][j]][max(mini,a)]) ;
a--;
}
}
fin >> k;
for(i = 1; i <= k; i++)
{
fin >> a >> b >> c;
if(b < c)
swap(b,c);
if(!ff[a])
{
fout<<"Tara de provenienta nu are parcele pe Luna!\n";
}
else
{
if( b <=50 && parcele[a][b] >= c)
fout<<"Cererea poate fi satisfacuta!\n";
else
fout<<"Cererea nu poate fi satisfacuta!\n";
}
}
return 0;
}