시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 1024 MB3000.000%

문제

“It’s a long way to the top if you wanna rock ’n’ roll” – ACϟDC

Dug je put do statusa rock-zvijezde, dug je put kada putujete hrvatskim željeznicama, dug je put do zahoda kad vam je najpotrebniji, dug je put. . .

Postoje razni dugi putovi i svašta bi se o njima dalo napisati, no to je već tema za vaš najdraži blog(aritam). Vjerujemo da ćete se složiti kako je put do plasmana u hrvatsku informatičku reprezentaciju također dug. Srećom, vaš se ovogodišnji put bliži kraju, a da biste ga uspješno savladali morate nam odgovoriti na $Q$ jednostavnih pitanja o dugim putovima.

U $i$-tom upitu promatramo pravokutnu ploču koja se sastoji od $N_i$ redaka i $M_i$ stupaca. Pronađite što dulji put između polja koje se nalazi u $A_i$-tom retku i $B_i$-tom stupcu i polja koje se nalazi u $C_i$-tom retku i $D_i$-tom stupcu. Pritom se smijete kretati u četiri osnovna smjera (gore, dolje, lijevo i desno) te na svako polje smijete stati najviše jednom.

♫ Well it’s a long way, you should’ve told me... it’s a long way, such a long way... ♪ ♫

입력

U prvom je retku prirodan broj $Q$ iz teksta zadatka.

U $i$-tom od sljedećih $Q$ redaka su brojevi $N_i$, $M_i$, $A_i$, $B_i$, $C_i$ i $D_i$ iz teksta zadatka. Pritom vrijedi $1 ≤ A_i , C_i ≤ N_i$, $1 ≤ B_i , D_i ≤ M_i$, te $(A_i , B_i) ≠ (C_i , D_i)$.

출력

Postoje dva tipa podzadataka (vidi tablicu bodovanja).

Tip konstrukcija:

Kao odgovor na $i$-ti upit potrebno je ispisati $2N_i - 1$ redaka s po $3M_i - 2$ znakova koji predstavljaju put koji ste pronašli.

Početno i završno polje ploče predstavljamo znakom '*' (ASCII 42), preostala polja ploče predstavljamo znakom 'o' (ASCII 111), okomite dijelove puta (povezana polja u istom stupcu) predstavljamo znakom '|' (ASCII 124), a vodoravne dijelove puta (povezana polja u istom retku) predstavljamo znakovima '--' (ASCII 45).

Između susjednih polja gdje put ne prolazi nalaze se bjeline, i to dva znaka razmaka (ASCII 32) između polja u istom retku, odnosno jedan znak razmaka između polja u istom stupcu.

Tip duljina puta:

Kao odgovor na $i$-ti upit potrebno je ispisati prirodan broj koji predstavlja najveću moguću duljinu puta.

Napomena: Duljinu puta definiramo kao broj polja kroz koje put prolazi.

제한

U svim podzadacima vrijedi $1 ≤ N_i , M_i ≤ 5\,000$ i $1 ≤ Q ≤ 1\,600$.

서브태스크

번호배점제한
120

$2 ≤ N_i \cdot M_i ≤ 100$, Tip izlaza: konstrukcija

225

$2 ≤ N_i \cdot M_i ≤ 1\,000$, Tip izlaza: konstrukcija

315

$2 ≤ N_i \cdot M_i ≤ 15\,000$, $1 ≤ M_i ≤ 3$, Tip izlaza: konstrukcija

425

$2 ≤ N_i \cdot M_i ≤ 100\,000$, Tip izlaza: konstrukcija

515

$2 ≤ N_i \cdot M_i ≤ 100\,000$, Tip izlaza: duljina puta

Tip konstrukcija:

Neka je

$d_{odg}^{(i)} = $ duljina puta u vašem odgovoru na $i$-ti upit

$d_{max}^{(i)} = $ najveća moguća duljina puta u $i$-tom upitu

$$ k = \frac{1}{Q}\sum_{i=1}^{Q}{\frac{d_{odg}^{(i)}}{d_{max}^{(i)}}}$$

Tada ćete u tom podzadatku dobiti sljedeći udio bodova:

  • $100\%$: ako $k = 1$ (tj. $d_{odg}^{(i)} = d_{max}^{(i)}$ za sve $i$)
  • $k \cdot 70\%$: inače

Svaki podzadatak sadržavat će točno jedan testni primjer.

Tip duljina puta:

Bodovanje je “obično”, tj. ako su dvi odgovori točni dobit ćete sve bodove, a inače ćete dobiti nula bodova.

예제 입력 1

2
2 3 1 1 2 2
3 3 1 1 3 3

예제 출력 1

*--o--o
      |
o  *--o
*  o--o
|  |  |
o  o  o
|  |  |
o--o  *

예제 입력 2

2
2 3 1 1 2 2
3 3 1 1 3 3

예제 출력 2

*--o  o
   |
o  *  o
*  o  o
|
o  o--o
|  |  |
o--o  *

예제 입력 3

2
2 3 1 1 2 2
3 3 1 1 3 3

예제 출력 3

5
9

힌트

Pojašnjenje probnih primjera: Prva dva probna primjera su tipa konstrukcija. Prvi primjer prikazuje optimalno rješenje i taj izlaz donio bi $100\%$ bodova. Drugi primjer prikazuje suboptimalno rješnje. Za taj izlaz je $k = \frac{1}{2}\left(\frac{3}{5} + \frac{7}{9}\right) = \frac{31}{45}$, te stoga nosi $\frac{31}{45} \cdot 70\% ≈ 48.2\%$ bodova. Treći primjer je tipa duljina puta.

채점 및 기타 정보

  • 예제는 채점하지 않는다.