- Time limit: 1.00 s
- Memory limit: 512 MB
Tehtäväsi on etsiä n \times m -ruudukon vasemmasta yläkulmasta alkava reitti, joka muodostuu hypyistä. Reitin tulee käydä tasan kerran jokaisessa ruudussa, ja jokaisen hypyn tulee olla erilainen.
Jokainen reitin hyppy voidaan esittää parina (y,x), jossa kokonaisluvut y ja x ilmaisevat siirtymän pysty- ja vaakasuunnassa. Koordinaatit kasvavat ylhäältä alaspäin ja vasemmalta oikealle. Esimerkiksi (2,-1) tarkoittaa hyppyä kaksi askelta alaspäin ja yksi askel vasemmalle.
Esimerkiksi 2 \times 3 -ruudukossa yksi mahdollinen hyppely on seuraava:
Tässä tapauksessa hypyt ovat järjestyksessä (1,0), (0,2), (-1,-1), (0,1), (1,-1). Ratkaisu on kelvollinen, koska jokainen hyppy on erilainen.
Syöte
Ensimmäisellä rivillä on kokonaisluku t: testien määrä.
Jokaisella seuraavalla rivillä on kaksi kokonaislukua n ja m: ruudukon korkeus ja leveys.
Tuloste
Jokaisessa testissä tulosta ratkaisuna n \cdot m - 1 lukua, jotka ilmaisevat järjestyksessä kunkin hypyn siirtymän pysty- ja vaakasuunnassa.
Jos mahdollisia ratkaisuja on useita, voit tulostaa minkä tahansa niistä. Tehtävään on olemassa aina ratkaisu.
Esimerkki
Syöte:
4 1 1 2 2 1 3 2 3
Tuloste:
0 1 1 0 0 -1 0 2 0 -1 1 0 0 2 -1 -1 0 1 1 -1
Huomaa, että ensimmäisessä testissä reitissä ei ole yhtään hyppyä, koska ruudukossa on vain yksi ruutu.
Osatehtävä 1 (30 pistettä)
- 1 \le t \le 100
- 1 \le n, m \le 5
Osatehtävä 2 (70 pistettä)
- 1 \le t \le 100
- 1 \le n, m \le 50