Minesweeper – Busca minas

Minesweeper es uno de los cientos de problemas de la ACM, la idea es basicamente elaborar un programa que resuelva o simule ej juego del buscaminas. Pueden ver los detalles del problema en esta pagina: http://acm.uva.es/p/v101/10189.html

El problema planteado solamente tiene una entrada simple, pero pueda que la solución que estén elaborando no contemple todas las posibilidades. Para ello implementé un programita en c++ para generar entradas de ejemplo para el programa que estén desarrollando del tamaño que se indique, puede serles de mucha utilidad para testear sus programas.

#include <iostream.h>
int main(int argc, char* argv[])
{
    if(argc < 3)
    {
       cout<<"\nUso:\t"<<argv[0]<<" [N] [M] ";
       return 1;
    }

    int n = atoi(argv[1]);
    int m = atoi(argv[2]);
    cout<<n<<" "<<m<<endl;
    for(int i = 0; i < n ;i++)
    {
       for(int j = 0; j < m ;j++)
       {
          if(rand()%14 == 0)
          {
             cout<<"*";
          }else
          {
             cout<<".";
          }
       }
       cout<<endl;
    }
   cout<<"0 0";
	return 0;
}

El programa produce la siguiente salida.

15 30
...............*.....*........
.*.....*......................
.................*.*...*......
...*.......*.*.....*..........
....................*.........
.............*...............*
........*.................*...
*.....*...*........*..........
..............*....*......*...
.*............................
.........*..........*.........
.......*.*....................
................*.............
..*.*....*....*..*.........*..
..............................
0 0

La salida de sus soluciones debería ser como sigue:

Field #1:
111000111000001*10001*10000000
1*10001*1000001121212121100000
11211011101121101*3*201*100000
001*1000001*2*10113*3111100000
00111000001132200012*100000011
0000000111001*100001110001111*
11000112*21111100011100001*111
*10001*212*10111002*2000022200
22100111011101*1002*200001*100
1*1000001110011100122100011100
111000113*2000000001*100000000
0000001*3*20000111011100000000
0112111132200112*2100000001110
01*2*1001*1001*22*100000001*10
011211001110011111100000001110

Si necesitas alguna ayuda adicional puedes consultarla en el foro de programación c++.

Entradas relacionadas :

  • Al empezar con esto de la programacion uno adopta una forma de escribir el codigo. Este codigo no siempre es bien visto por quienes tiene experiencia (como si se tratara de caligrafia). No habia ...

  • Para quienes estamos relacionados con la Programación y las Ciencias de la Computación, alguna vez nos hemos que tenido que topar opn la serie de Fibonacci, ya sea para programarla o para estudia ...

  • Resulta que algunas veces es necesario acceder desde C/C++ a MySQL, razones hay muchas.... el asunto es como hacerlo. Antes de hacer cualquier cosa debemos instalar las librerías de desarrollo ...

  • Hace unas horas me he afiliado a la emisión por recibos de honorarios de la SUNAT, y me he dado con la sorpresa que no se pueden emitir los recibos de honorarios y me imagino que también para otro ...

  • Mientras web-eaba por la red, me di una vuelta por codeproject.com para hacer un par de consultas. Luego de poco rato me dí con la sorpresa que mi membresía subió de categoría a Gold. No se que cr ...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

Go back to top