clucasg

Untitled-1

Feb 25th, 2021
562
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3.  
  4.  
  5. int main(void) {
  6.  
  7.   int LinhasMapa, ColunasMapa;
  8.   int LocalizacaoLinhaJedi, LocalizacaoColunaJedi;
  9.   scanf("%d", &LinhasMapa);
  10.   scanf("%d", &ColunasMapa);
  11.  
  12.   scanf("%d", &LocalizacaoLinhaJedi);
  13.   scanf("%d", &LocalizacaoColunaJedi);
  14.   bool becomeOneWithTheForce = false;
  15.  
  16.   int mapa[LinhasMapa][ColunasMapa];
  17.  
  18.   for(int i=0 ; i<LinhasMapa; i++){
  19.     for(int j=0 ; j<ColunasMapa; j++){
  20.       scanf("%d", &mapa[i][j]);
  21.     }
  22.   }
  23.  
  24.   int count=1;  
  25.   for(int i=0 ; i<LinhasMapa; i++){
  26.     for(int j=0 ; j<ColunasMapa; j++){
  27.       bool bordaSuperior = i==0 ? true : false;
  28.       bool bordaInferior = i==LinhasMapa-1 ? true : false;
  29.       bool bordaEsquerda = j==0 ? true : false;
  30.       bool bordaDireita = j==ColunasMapa-1 ? true : false;
  31.       // puts("==============================");
  32.       // printf("Borda superior: %d\n",bordaSuperior);
  33.       // printf("Borda inferior: %d\n",bordaInferior);
  34.       // printf("Borda esquerda: %d\n",bordaEsquerda);
  35.       // printf("Borda direita: %d\n",bordaDireita);
  36.       int atual = mapa[i][j];
  37.       int cima = mapa[i-1][j];
  38.       int cimaEsquerda = mapa[i-1][j-1];
  39.       int cimaDireita = mapa[i-1][j+1];
  40.       int baixo = mapa[i+1][j];
  41.       int baixoEsquerda = mapa[i+1][j-1];
  42.       int baixoDireita = mapa[i+1][j+1];
  43.       int esquerda = mapa[i][j-1];
  44.       int direita = mapa[i][j+1];
  45.  
  46.  
  47. // 2 3 3
  48. // 1 8 4
  49. // 3 1 2
  50.  
  51.       // printf("================================== Atual: %d\n",atual);
  52.       // if(!bordaSuperior){printf("Cima: %d\n",cima);}
  53.       // if(!bordaSuperior && !bordaEsquerda){printf("Cima esquerda: %d\n",cimaEsquerda);}
  54.       // if(!bordaSuperior && !bordaDireita){printf("Cima direita: %d\n",cimaDireita);}
  55.       // if(!bordaInferior){printf("Baixo: %d\n",baixo);}
  56.       // if(!bordaInferior && !bordaEsquerda){printf("Baixo esquerda: %d\n",baixoEsquerda);}
  57.       // if(!bordaInferior && !bordaDireita){printf("Baixo direita: %d\n",baixoDireita);}
  58.       // if(!bordaEsquerda){printf("Esquerda: %d\n",esquerda);}
  59.       // if(!bordaDireita){printf("Direita: %d\n",direita);}
  60.  
  61.       // printf("Verificando o elemento %d em (%d,%d)\n",mapa[i][j],i,j);
  62.       if (!bordaSuperior && cima >= atual){
  63.         // puts("Achou maior em cima");
  64.         continue;
  65.       }
  66.       if (!bordaEsquerda && esquerda >= atual){
  67.         // puts("Achou maior em baixo");
  68.         continue;
  69.       }
  70.       if (!bordaSuperior && !bordaEsquerda  && cimaEsquerda >= atual){
  71.         // puts("Achou maior na esquerda");
  72.         continue;
  73.       }
  74.       if (!bordaInferior && baixo >= atual){
  75.         // puts("Achou maior na direita");
  76.         continue;
  77.       }
  78.       if (!bordaInferior && !bordaEsquerda  && baixoEsquerda >= atual){
  79.         // puts("Achou maior na cimaesquerda");
  80.         continue;
  81.       }
  82.       if (!bordaDireita && !bordaSuperior && cimaDireita >= atual){
  83.         // puts("Achou maior na cimadireita");
  84.         continue;
  85.       }
  86.       if (!bordaDireita && !bordaSuperior && cimaDireita >= atual){
  87.         // puts("Achou maior na baixoesquerda");
  88.         continue;
  89.       }
  90.       if (!bordaDireita && !bordaInferior  && baixoDireita >= atual) {
  91.         // puts("Achou maior na baixodireita");
  92.         continue;
  93.       }
  94.  
  95.       // Se chegou aqui, é um pico e vai ser bombardeado
  96.       printf("Local %d: %d %d\n",count,i+1,j+1);
  97.       count++;
  98.  
  99.       if (i+1==LocalizacaoLinhaJedi && j+1==LocalizacaoColunaJedi) {
  100.         becomeOneWithTheForce = true;
  101.       }
  102.     }
  103.   }
  104.  
  105.   printf(becomeOneWithTheForce? "Descanse na Força...\n":"Ao resgate!\n");
  106.  
  107. }
  108.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×