Wstęp do programowania, lekcja 10 (Quiz). Dostępna pamięć: 256 MB. 13–19.12.2014
Na pewnym polu na szachownicy 8 × 8 stoi król. Chcielibyśmy dowiedzieć się, na ile różnych pól może przeskoczyć ta figura w jednym ruchu∗
. Zakładamy, że na szachownicy nie ma w tym momencie żadnych innych
figur.
Wejście
Pierwszy i jedyny wiersz wejścia zawiera jedną literę k oraz jedną cyfrę w, oddzielone spacją. Litera k oznacza
kolumnę szachownicy (k ∈ {a, . . . , h}), a cyfra w oznacza wiersz szachownicy (w ∈ {1, . . . , 8}).
Wyjście
W jedynym wierszu wyjścia Twój program powinien wypisać jedną liczbę całkowitą – liczbę pól szachownicy,
na które może przeskoczyć król umieszczony na zadanym polu.
Przykład
Dla danych wejściowych:
d 5
poprawnym wynikiem jest:
8
natomiast dla danych wejściowych:
a 8
poprawnym wynikiem jest:
3
Czy może ktoś powiedzieć dlaczego mój kod nie działa.
Raport ostatecznego sprawdzania
Test Wynik Czas Wynik
1 OK 0.00s/1.00s 10/10
2 OK 0.00s/1.00s 10/10
3 OK 0.00s/1.00s 10/10
4 OK 0.00s/1.00s 10/10
5 OK 0.00s/1.00s 10/10
6 OK 0.00s/1.00s 10/10
7 Zła odpowiedź 0.00s/1.00s 0/10
8 Zła odpowiedź 0.00s/1.00s 0/10
9 OK 0.00s/1.00s 10/10
10 Zła odpowiedź 0.00s/1.00s 0/10
7 wiersz 1: wczytano '3', a oczekiwano '5'
8 wiersz 1: wczytano '3', a oczekiwano '5'
10 wiersz 1: wczytano '8', a oczekiwano '5'
#include <iostream>
using namespace std;
int ilosc_ruchow(int k, int w){
if(k==1 || w==8){
if(w=='a' || w=='h') return 3;
return 5;
}
if(w=='a' || w=='h'){
return 3;
}
return 8;
}
int main(){
int k;
char w;
cin>>w>>k;
cout<<ilosc_ruchow(k,w);
return 0;
}