BFS, zadanie

Odpowiedz Nowy wątek
2019-03-13 13:19
0

Cześć,

mam takie zadanie:
http://solve.edu.pl/contests/download_desc/2056
i taki kod:
https://wandbox.org/permlink/7BmvYCPLf0G4ohuK

dla testów z zadania działa poprawnie ale nie wiem czemu dla innych nie:-(

Na przykład dla testu:
1 2
S.W
wypisuje mi:

Tak
S.

i nic więcej a powinno:
Tak
SDW

edytowany 2x, ostatnio: pattom, 2019-03-13 13:21

Pozostało 580 znaków

2019-03-14 22:20
0

Proponowałbym tak:

#include <iostream>
using namespace std;

char T[505][505]; //tworzenie tablicy globalnej

int main() {
    int W, K;
    cin>>W>>K;
    char A[K];
    for(int i=1;i<=W;i++){//wczytanie tablicy numeracja od 1
        cin>>A+1;
        for(int j=1;j<=K;j++){
            T[i][j]=A[j];
        }
    }
    for(int i=1;i<=W;i++){
        for(int j=1;j<=K;j++){
            if(T[i][j]=='W'){
                if(T[i-1][j]=='S' || T[i+1][j]=='S' || T[i][j+1]=='S' || T[i][j-1]=='S'){//jesli owca koło wilka to się nie da postawić psa
                    cout<<"Nie";
                    return 0;
                } else{ //w przeciwnym wypadku otaczamy wilka psami
                    T[i-1][j]='D';
                    T[i+1][j]='D';
                    T[i][j+1]='D';
                    T[i][j-1]='D';
                }
            }
        }
    }
    cout<<"Tak\n";
    for(int i=1;i<=W;i++){//wypisanie tablicy
        for(int j=1;j<=K;j++){
            cout<<T[i][j];
        }
        cout<<endl;
    }
    return 0;
}

Jeśli koło wilka jest owca to nie da się postawić psa w przeciwnym wypadku można wilka otoczyć psami.

Pozostało 580 znaków

2019-03-14 22:47
0

4) Tablica o wielkości 502x502 powinna wystarczyć.
10-15) Na brzegach tablicy zostają przypadkowe wartości.
22-27) Sąsiadujące wilki zostaną zastąpione psami.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0