Cod sursa(job #184195)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 23 aprilie 2008 11:59:42
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 3.33 kb
#include<fstream>
#include<stdio.h>
#include<string.h>

using namespace std;
ifstream fin ("rj.in");

int a[101][101],e[4]={0,0,1,-1},r[4]={1,-1,0,0};

int main ()
{
    freopen("rj.out","w",stdout);
    int s,i,k,m,n;
    fin>>n>>m;
    char c[m+1];
    fin.get();
    for(k=1;k<=n;k++)
    {
                     fin.getline(c,m+1);
                    for(i=1;i<=m;i++)
                     {
                                      if(c[i-1]=='X')
                                       a[k][i]=-2;
                                       else
                                      if(c[i-1]==' ')
                                       a[k][i]=-1;
                                      else
                                      if(c[i-1]=='J')
                                       a[k][i]=0;
                                 //   printf("%d ",a[k][i]);
                                      }
                                   //   printf("\n");
                                      }
                                      int pas,o,y,x,g;
                                      s=1;pas=-1;g=0;
                     while(s)
                     {s=0;g=0;
                     pas++;
                             for(i=1;i<=n;i++)
                             {
                                              for(k=1;k<=m;k++)
                                              {
                                                               if(a[i][k]==pas)
                                                               {
                                       for(o=0;o<=3;o++)
                                       {
                                                        x=i+e[o];
                                                        y=k+r[o];
                                                        if(a[x][y]==-1)
                                                        {a[x][y]=pas+1;
                                                        s++;
                                                        }
                                                        else
                                                        if(a[x][y]==pas+1)
                                                       { g++;   
                                                       printf("%d %d %d",pas+1,y,x);
                                                       }
                                                       if(g!=0)
                                                       break;
                                                       }
                                                       if(g!=0)
                                                       break;
                                                       }
                                                       if(g!=0)
                                                       break;
                                                       }
                                                       if(g!=0)
                                                       break;
                                                       }
                                                       if(g!=0)
                                                       break;
                                                       }                                     
    return 0;
    }