Pagini recente » Cod sursa (job #521089) | Cod sursa (job #3250783) | Cod sursa (job #2984430) | Cod sursa (job #369504) | Cod sursa (job #131626)
Cod sursa(job #131626)
#include <fstream.h>
ifstream f ("perle.in");
ofstream g ("perle.out");
int a[10][100],n;
void citire ()
{
int m,j;
f>>n;
for(int i=1;i<=n;i++){
f>>m;
for(j=1;j<=m;j++)
f>>a[i][j];
}
}
int A (int x, int y);
int B (int x, int y);
int C (int x, int y);
void main ()
{
citire();
for(int i=1;i<=n;i++)
if(a[i][2]==0)
g<<"1"<<endl;
else {
if(a[i][1]==1){
if(B(i,1)==1)
g<<"1"<<endl;
else
if(C(i,1)==1)
g<<"1"<<endl;
else
g<<"0"<<endl;
}
if(a[i][1]==2)
g<<B(i,1)<<endl;
if(a[i][1]==3)
g<<C(i,1)<<endl;
}
}
int A (int x, int y)
{
if(a[x][y]==0)
return 0;
return 1;
}
int B (int x, int y)
{
if(a[x][y]==0)
return 0;
if(a[x][y]==2)
return B(x,y+1);
if(a[x][y]==1){
if(A(x,y+1)==1 &&
a[x][y+2]==3 &&
A(x,y+3)==1 &&
C(x,y+4)==1)
return 1;
else
return 0;
}
return 0;
}
int C (int x, int y)
{
if(a[x][y]==0)
return 0;
if(a[x][y]==2)
return 1;
if(a[x][y]==3){
if(B(x,y+1)==1 &&
C(x,y+2)==1)
return 1;
else
return 0;
}
if(a[x][y+1]==2 &&
A(x,y+2)==1)
return 1;
else
return 0;
}