Cara Cara

untung99.homes: Problema 343 Soarece1 Rezolvari PBInfo


Untung99 menawarkan beragam permainan yang menarik, termasuk slot online, poker, roulette, blackjack, dan taruhan olahraga langsung. Dengan koleksi permainan yang lengkap dan terus diperbarui, pemain memiliki banyak pilihan untuk menjaga kegembiraan mereka. Selain itu, Untung99 juga menyediakan bonus dan promosi menarik yang meningkatkan peluang kemenangan dan memberikan nilai tambah kepada pemain.

Berikut adalah artikel atau berita tentang Harian untung99.homes dengan judul untung99.homes: Problema 343 Soarece1 Rezolvari PBInfo yang telah tayang di untung99.homes terimakasih telah menyimak. Bila ada masukan atau komplain mengenai artikel berikut silahkan hubungi email kami di koresponden@untung99.homes, Terimakasih.

Se dă o tablă dreptunghiulară formată din n linii și m coloane, definind n*m zone, unele dintre ele fiind libere, altele conținând obstacole. Într-o zonă precizată se află un șoarece care se poate deplasa pe tablă trecând din zona curentă în zona învecinată cu aceasta pe linie sau pe coloană. Scopul sau este să ajungă la o bucată de brânză aflată într-o zonă de asemenea precizată, fără a părăsi tabla, fără a trece prin zone care conțin obstacole și fără a trece de două ori prin aceeași zonă.

Determinați o modalitate prin care șoarecele poate să ajungă la bucata de brânză.

Fişierul de intrare soarece1.in conţine pe prima linie numerele n m, separate printr-un spațiu. Următoarele n linii conțin câte m caractere, care descriu tabla: caracterul _ corespunde unei zone libere, caracterul # corespunde unei zone ocupate de obstacol, caracterul S corespunde zonei în care se află șoarecele iar caracterul B corespunde zonei în care se află bucata de brânză.

Fişierul de ieşire soarece1.out va conţine n linii, pe fiecare linie fiind câte m numere, care descriu traseul șoarecelui, astfel:

  • zonelor prin care nu va trece șoarecele le corespund valoarea 0.
  • zonei în care se află inițial șoarecele îi corespunde valoarea 1
  • următoarei zone din traseul șoarecelui îi corespunde valoarea 2
  • fiecărei zone din traseul șoarecelui îi corespunde o valoare număr natural semnificând la al câtelea pas ajunge șoarecele în acea zonă.

Numerele de pe fiecare linie fișierului de ieșire sunt separate prin exact un spațiu.

  • 1 ≤ n,m ≤ 10
  • zona în care se află șoarecele și zona în care se află bucata de brânză sunt libere
  • dacă nu există nici modalitate prin care șoarecele va ajunge la bucata de brânză toate cele n*m numere din fișierul soarece1.out vor fi zero.
  • oricare traseu valid al șoarecelui este considerat corect

soarece1.in

6 7
_______
_####B_
____##_
S##_#__
_##_#_#
_______

soarece1.out

0 0 0 0 0 0 0 
0 0 0 0 0 14 13 
0 0 0 0 0 0 12 
1 0 0 0 0 10 11 
2 0 0 0 0 9 0 
3 4 5 6 7 8 0 
#include 
using namespace std;

ifstream cin("soarece1.in");
ofstream cout("soarece1.out");

int n , m , is , js , ib , jb , a[11][11] , gata;
char s;

const int di[] = {0 ,  0 , 1 , -1};
const int dj[] = {1 , -1 , 0 ,  0};

int inside(int i , int j)
{
    return i >= 1 && i <=>= 1 && j <=>> n >> m;
    for(int i = 1 ; i <=>> s;
            if(s == '_') a[i][j] = 0;
            else if(s == '#') a[i][j] = -1;
            else if(s == 'S') a[i][j] = 0 , is = i , js = j;
            else if(s == 'B') a[i][j] = 0 , ib = i , jb = j;
        }
    a[is][js] = 1;
    back(is, js, 2);
    if(gata == 0)
        for(int i = 1 ; i <=>