Excursión de (metros fuera ajo)

 

 

 

 

1 #include <iostream>
 2 #include <cola>
 3  usando  espacio de nombres std;
4  Char un [ 105 ] [ 105 ];
5  struct nodo {
 6      int x;
7      int y;
8      nodo ( int x, int y)
 9      {
 10         este -> x = x;
11         este -> y = y;
12      }
 13  };
14  int dir [] [ 2 ] = {{ 0, 1 }, { 1 , 0 }, { 0 , - 1 }, {- 1 , 0 }};
15  int vis [ 105 ] [ 105 ];
16  bool casquillo ( int x, int y)
 17  {
 18      si (vis [x] [y] == 0 && una [x] [y] == ' # ' )
 19          de retorno  verdadera ;
20      más 
21          de retorno  falsa ;
22  }
 23  intmain ()
 24  {
 25      int n, m;
26      cin >> n >> m;
27      int count = 0 ;
28      para ( int i = 1 ; i <= n; ++ i)
 29          para ( int j = 1 ; j <= m; ++ j)
 30          {
 31              cin >> a [i] [j];
32          }
 33      para ( int i = 1 ; i <= n; ++ i)
 34          para ( int j = 1; j <= m; ++ j)
 35          {
 36              si (arbusto (i, j))
 37              {
 38                  cola <nodo> q;
39                  inicio nodo = nodo (i, j);
40                  q.push (inicio);
41                  vis [i] [j] = 1 ;
42                  , mientras que (! Q.empty ())
 43                  {
 44                      nodo ahora = q.front ();
45                      int x = now.x;
46                      int y = now.y;
47                      para (int k = 0 ; k < 4 ; k ++ )
 48                      {
 49                          si ((x + dir [k] [ 0 ])> 0 && (x + dir [k] [ 0 ] <= n) && (y + dir [ k] [ 1 ]> 0 ) && (y + dir [k] [ 1 ] <= m))
 50                          {
 51                              si (casquillo (x + dir [k] [ 0 ], y + dir [k] [ 1 ] ))
 52                              {
 53                                  siguiente nodo = nodo (x + dir [k] [ 0 ], y + dir [k] [ 1 ]); 
54                                 q.push (siguiente);
55                                  vis [x + dir [k] [ 0 ]] [y + dir [k] [ 1 ]] = 1 ;
56                              }
 57                          }
 58                      }
 59                      q.pop ();
60                  }
 61              recuento ++ ;
62              }
 63          }
 64      tribunal << contar;
65      de retorno  0 ;    
66 }

 

Supongo que te gusta

Origin www.cnblogs.com/caxi/p/12517825.html
Recomendado
Clasificación