Cod sursa(job #188485)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 8 mai 2008 18:19:16
Problema Rj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 3 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)   
                                                       { 
                                                       printf("%d %d %d",pas+1,x,y);   
                                                       return 0;
                                                       }
                                                       }   
                                                      }   
                                                       }   
                                                       }   
                                                      }   
                                                                                               
    return 0;   
    }