Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.28 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. int main(){
  5.    
  6.     short int N;
  7.     short int M;
  8.    
  9.     std::cin >> N;
  10.     std::cin >> M;
  11.    
  12.     N = N - 1;
  13.    
  14.     std::vector<std::vector<int> >Soldiers(N,std::vector<int>(M));
  15.     for(int a = 0; a < N;a++){
  16.         for(int b = 0; b < M;b++){
  17.             std::cin >> Soldiers[a][b];
  18.         }
  19.     }
  20.    
  21.    
  22.     int Exceptions = 0;
  23.    
  24.     for(int a = 0; a < N;a++){
  25.         for(int b = 0;b < M;b++){
  26.             if(a == 0 && b == 0 || a == N-1 && b == 0 || a == 0 && b == M-1 || a == N-1 && b == M-1){
  27.                 int MinCounter = 0;
  28.                 int MaxCounter = 0;
  29.                 int c;
  30.                 int d;
  31.                 if(a == 0){                
  32.                     for(c = 0;c < a+2;c++){
  33.                         for(d = b - 1;d < b+2;d++){
  34.                             if(Soldiers[a][b] > Soldiers[c][d]){
  35.                                 MaxCounter++;
  36.                             }else if(Soldiers[a][b] < Soldiers[c][d]){
  37.                                 MinCounter++;
  38.                             }
  39.                         }
  40.                     }
  41.                     if(MaxCounter == 5 || MinCounter == 5){
  42.                         Exceptions++;
  43.                     }                      
  44.                 }else if(a == N-1){
  45.                     for(c = a-1;c <= a;c++){
  46.                         for(d = b-1; d < b + 2;d++){
  47.                             if(Soldiers[a][b] > Soldiers[c][d]){
  48.                                 MaxCounter++;
  49.                             }else if(Soldiers[a][b] < Soldiers[c][d]){
  50.                                 MinCounter++;
  51.                             }
  52.                         }
  53.                     }
  54.                     if(MaxCounter == 5 || MinCounter == 5){
  55.                         Exceptions++;
  56.                     }  
  57.                 }else if(b == 0){                  
  58.                     for(c = a - 1; c < a + 2;c++){
  59.                         for(d = 0; d < 2;d++){
  60.                             if(Soldiers[a][b] > Soldiers[c][d]){
  61.                                 MaxCounter++;
  62.                             }else if(Soldiers[a][b] < Soldiers[c][d]){
  63.                                 MinCounter++;
  64.                             }                      
  65.                         }
  66.                     }
  67.                     if(MaxCounter == 5 || MinCounter == 5){
  68.                         Exceptions++;
  69.                     }  
  70.                 }else if(b == M-1){
  71.                     for(c = a-1;c < a+2;c++){
  72.                         for(d = M-1;d <= M;d++){
  73.                             if(Soldiers[a][b] > Soldiers[c][d]){
  74.                                 MaxCounter++;
  75.                             }else if(Soldiers[a][b] < Soldiers[c][d]){
  76.                                 MinCounter++;
  77.                             }                          
  78.                         }
  79.                     }
  80.                     if(MaxCounter == 5 || MinCounter == 5){
  81.                         Exceptions++;
  82.                     }  
  83.                 }else{
  84.                     for(c = a - 1;c < a + 2;c++){
  85.                         for(d = b - 1;d < b + 2;d++){
  86.                             if(Soldiers[a][b] > Soldiers[c][d]){
  87.                                 MaxCounter++;
  88.                             }else if(Soldiers[a][b] < Soldiers[c][d]){
  89.                                 MinCounter++;
  90.                             }
  91.                         }
  92.                     }
  93.                     if(MaxCounter == 8 || MinCounter == 8){
  94.                         Exceptions++;
  95.                     }
  96.                 }                                  
  97.             }
  98.         }
  99.     }
  100.    
  101.     std::cout << Exceptions;               
  102.    
  103.     return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement