Respuestas de crucigramas ------- salida de fila y columna en orden

Enlace del título: https://vjudge.net/problem/UVA-232#author=0

Tema: Oración clave: las definiciones corresponden a la cuadrícula rectangular por medio de enteros secuenciales en \ "cuadrados blancos elegibles. Los cuadrados blancos con cuadrados negros inmediatamente a la izquierda o arriba de ellos son \ elegibles". Los cuadrados blancos sin cuadrados ei- inmediatamente a la izquierda o arriba también son \ elegibles ". No hay otros cuadros numerados. Todos los cuadrados de la primera fila están numerados

Solución del problema: 1. Numeración-sin recuadro, cómo obtenerlo ------- obtenga una jaula, rodeada por 0, 0 es el identificador de límite, tenga en cuenta que debe ser un carácter, por lo que debe escribirse como '0', de lo contrario, se tratará como un carácter nulo

    2. Es fácil dar salida por fila, cómo dar salida por columna, y luego por número: todavía es como una fila recorrer las filas, reciclar la columna (para asegurar el número de pequeño a grande), y luego porque la salida por columna, así que hacer un ciclo por fila (desde Cuando se inicia el bucle, empiezo hasta el final de x. Tenga en cuenta que no puede cambiar el valor de i), y establezca el número de serie en 0 cada vez que salga, por lo que cuando salga depende de si el número de serie es 0.

código ac:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <iomanip>
usando el espacio de nombres std;
char s [20] [20];
int x, y, cou = 0, a [20] [20];
void init ()
{
    cou = 0; // 注意 初始化
    memset (s, 0, sizeof (s));
    memset (a, 0, sizeof (a));
    para (int i = 0; i <= x + 1; i ++) // 安装 边界
    {
        s [i] [0] = '0';
        s [i] [y + 1] = '0';
    }
    para (int i = 0; i <= y + 1; i ++)
    {
        s [0] [i] = '0';
        s [x + 1] [i] = '0';
    }
}
void Num_s () // 编号
{
    for (int i = 1; i <= x; i ++)
        for (int j = 1; j <= y;

                if (s [i] [j-1] == '0' || s [i] [j-1] == '*' || s [i-1] [j] == '0' || s [i-1] [j] == '*')
                {
                    cou ++;
                    a [i] [j] = cou;
                }
}
int main ()
{
    int c = 0;
    while (cin >> x)
    {
        if (x == 0) break;
        cin >> y;
        c ++;
        getchar (); // 吸收 空 行
        init ();
        for (int i = 1; i <= x; i ++)
        {
            for (int j = 1; j <= y; j ++)
                s [i] [j] = getchar ();
            getchar ();
        }
        Num_s ();
        if (c! = 1) // 注意 空 行
            cout << endl;
        cout << "rompecabezas #" << c << ":" << endl;
        cout << "Across" << endl;
        para (int i = 1; i <= x; i ++)
        {
            int flag = 0;
            para (int j = 1; j <= y; j ++)
            {
                if (s [i] [j]! = '*')
                {
                    if (flag == 0)
                        cout << setw (3) << a [i ] [j] << '.';
                    bandera = 1;
                    cout << s [i] [j];
                }
                else
                {
                    if (flag == 1)
                        cout << endl;
                    bandera = 0;


                    cout << endl;
            }
        }
        cout << "Abajo" << endl;
        para (int i = 1; i <= x; i ++)
        {
            int flag = 0;
            para (int j = 1; j <= y; j ++)
            {
                if (a [i] [j]! = 0)
                {
                    printf ("% 3d.", a [i] [j]);
                    for (int k = i; k <= x; k ++)
                    {
                        if (s [k] [j] == '*')
                        {
                            flag = 0;
                            cout << endl;
                            descanso;


                        {
                            flag = 1;
                            cout << s [k] [j];
                        }
                        a [k] [j] = 0;
                    }
                    if (flag == 1)
                        cout << endl;
                }
            }
        }
    }
    devolver 0;
}

Supongo que te gusta

Origin www.cnblogs.com/Joe2019/p/12678141.html
Recomendado
Clasificación