Cod sursa(job #568194)

Utilizator Sm3USmeu Rares Sm3U Data 30 martie 2011 21:55:50
Problema Castel Scor 0
Compilator cpp Status done
Runda brasov_7_jr Marime 1.14 kb
#include <stdio.h>

using namespace std;

struct ceva{
    int x;
    int y;
}c[155*155];
int a[155][155];
int b[155][155];
int d[155*155];
int n;
int m;
const int di[10]={-1,0,0,1};
const int dj[10]={0,-1,1,0};

void citire()
{
    int x;
    scanf("%d %d %d",&n,&m,&x);
    int y=1;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            scanf("%d",&a[i][j]);
            b[i][j]=y++;
        }
    }
    c[0].y=x%m;
    c[0].x=x/m+1;
    if(!c[0].y)
        c[0].y=m,c[0].x--;
    d[x]=1;


}

void lee()
{
    int s=1;
    int lungime=1;
    for(int i=0;i<lungime;i++)
    {
        for(int j=0;j<4;j++)
        {
            int x=c[i].x+di[j];
            int y=c[i].y+dj[j];
            if(a[x][y]!=0 && d[a[x][y]]==1)
            {
                c[lungime].x=x;
                c[lungime++].y=y;
                d[b[x][y]]=1;
                a[x][y]=0;
                s++;
            }

        }
    }
    printf("%d",s);
}

int main()
{
    freopen("castel.in","r",stdin);
    freopen("castel.out","w",stdout);
    citire();
    lee();
    return 0;
}