Witam mam taki problem bo mam sprawdzić o ile została przesunięta druga tablica charów i napisałem o taki program który działa jedynie dla pierwszego i trzeciego testu z wiadomych przyczyn. Jakaś wskazówka , pomysł jak to zrobić ? Jeszcze zamieszczam testy żeby było wiadomo w czym mój błąd. Wiem, dlaczego to nie działa , pytam jedynie o jakąś wskazówkę jak to zrobić.
Wejście: liczby oznaczają liczbę kolejno wierszy , kolumn. Algorytm ma sprawdzić ile najmniej ruchów trzeba wykonać do przesunięcia pierwszej tablicy charów w drugą.
4 6
xooooo
oooooo
oooooo
oooooo
------
oooooo
oooooo
oxoooo
oooooo
Wyjście: 3.
Wejście:
3 8
aaaaaaaa
bbbbbbbb
cccccccc
--------
bbbbbbbb
cccccccc
aaaaaaaa
Wyjście : 2.
Wejście:
2 8
neseyolo
ettiswag
------
swagetti
yolonese
Wyjście : 5.
Wyjście oznacza najmniejszą możliwą liczbę przesunięć tablicy.
#include<iostream>
using namespace std;
int main()
{ int n,m,wynik=0;
char tab[502][503];
char x;
cin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>tab[i][j];
for(int i=0;i<m;i++)
cin>>x;
char tap[503][502];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>tap[i][j];
for (int i=0;i<n;i++)
for (int j=0;j<m;j++){
if(tab[0][0]==tap[i][j])
wynik+=i+j;
}
cout<<wynik;
}
Dzięki z góry za podpowiedź. ;)