Zadanie z matury 2007 - problem

acre117
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 7 lut 2009, o 20:11
Płeć: Mężczyzna

Zadanie z matury 2007 - problem

Post autor: acre117 »

Witam wszystkich!
W tym roku będę zdawał maturę, m. in. z informatyki. Robiąc zadania z matury z informatyki z poprzednich lat natknąłem się na zadanie, którego za nic nie mogę rozwiązać. Od razu pisze, że nie chodzi o sam końcowy wynik, bo to znam. Chciałbym znać tok myślenia, jakim sposobem można dojść do wyniku końcowego.

Mowa tu o zadaniu 2-gim z matury 2007, podpunkt c ( )

Rozwiązanie zadania polega właściwie na znalezieniu wzoru, który by wyznaczał na ile pól może wykonać ruch hetman na pustej szachownicy o rozmiarze NxN, znajdując się na polu (X;Y).

Każda wskazówka się przyda.

Pozdrawiam, acre117.
abc666

Zadanie z matury 2007 - problem

Post autor: abc666 »

Zauważ że hetman zawsze bije tą samą liczbę pól w kierunkach pionowym i poziomy czyli mam \(\displaystyle{ 2(n-1)}\), wystarczy rozpatrzeć skosy. Można też łatwo zauważyć że liczba pól jest taka sama na koncentrycznych kwadratach. Wynika z tego także że im bliżej środka tym liczba pól większa.

Nie chce ci od razu mówić całego rozwiązania bo lepiej wpaść na nie samemu.
acre117
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 7 lut 2009, o 20:11
Płeć: Mężczyzna

Zadanie z matury 2007 - problem

Post autor: acre117 »

No właśnie w tych skosach największy problem.
Doszedłem do czegoś takiego. Na kwadracie najbardziej zewnętrznym liczba pól jest najmniejsza, a więc
\(\displaystyle{ k = 3(n-1) + 2*x}\), przy czym
k - liczba pól,
x - stopień 'zagłębienia' w szachownice.
Dla najbardziej skrajnego kwadratu \(\displaystyle{ x = 0}\), dla następnego \(\displaystyle{ x=1}\) itd.
Pozostaje znaleźć wzór na stopień zagłębienia w szachownice...
Awatar użytkownika
flashion
Użytkownik
Użytkownik
Posty: 113
Rejestracja: 20 sty 2009, o 01:27
Płeć: Mężczyzna
Podziękował: 6 razy
Pomógł: 7 razy

Zadanie z matury 2007 - problem

Post autor: flashion »

let's do it.

skoro poziom i pion już mamy, rozpatrzmy przekątne.
moje wskazówki:

przekątna 1 (rosnąca z dołu na górę):
zauważmy, że po lewej stronie \(\displaystyle{ H}\) mamy tyle pól ile wsp. \(\displaystyle{ x}\) lub \(\displaystyle{ y}\) brakuje do \(\displaystyle{ 1}\).
analogicznie po prawej stronie.

przekątna 2 (malejąca):
zauważmy, że wszystkie te punkty mają stałą sumę współrzędnych.

wskazówki+rozwiązanie:
Ukryta treść:    
Pozdrawiam

@abc666: dzięki za zauważenie błędu.
Ostatnio zmieniony 8 lut 2009, o 11:58 przez flashion, łącznie zmieniany 4 razy.
abc666

Zadanie z matury 2007 - problem

Post autor: abc666 »

flashion, twoje rozumowanie nie jest poprawne, wg twojego wzoru hetman bije tyle samo pól na polu o wsp. (2,1) oraz np. (2,2) a to jest nieprawda
krzysiekk44
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 23 sty 2011, o 16:08
Płeć: Mężczyzna
Lokalizacja: Żyrardów

Zadanie z matury 2007 - problem

Post autor: krzysiekk44 »

Jakby ktoś potrzebował:

Kod: Zaznacz cały

int Hetman(int x, int y, int n)
{
    int k = 0;   // współczynnik zagłębienia
    int wynik = 0;
    int temp = n;
    
    if(x < 0 || y < 0 || x > n || y > n || n < 0)
         return -1;
    
    if(n == 1)
       return 0;
    else
    {
        while(n > 1)
        {       
                if( x==1 || x==n || y==1 || y==n  )   
                {
                    wynik = 3*(temp-1) + 2*k;
                    break;
                }
                else
                {
                   n -= 2;
                   x--;
                   y--; 
                   k++;
                }
        }
    }   
  return wynik;   
}

Dla mnie działa przynajmniej w punkcie b) zadania maturalnego. Poprawiać jak źle.
Xitami

Zadanie z matury 2007 - problem

Post autor: Xitami »

\(\displaystyle{ 1 \le x \le N\\
1 \le y \le N\\
3*(N-1)+2(\min[\left \min(x, N-x+1), \min(y, N-y+1)\right]-1)}\)

7tm4s
ODPOWIEDZ