아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Dugput

시간 제한5초메모리 제한1024 MB

요약
N 곱하기 M 격자에 대한 각 질의에서 두 칸 사이를 상하좌우로만 움직이며 다시 방문하지 않는 가장 긴 경로를 구한다.
난이도

보통10점 중 5점

유형
그래프, 구현, 수학, 그리디
정답자
아직 제출이 없습니다

문제

“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 QQ jednostavnih pitanja o dugim putovima.

U ii-tom upitu promatramo pravokutnu ploču koja se sastoji od N_iN\_i redaka i M_iM\_i stupaca. Pronađite što dulji put između polja koje se nalazi u A_iA\_i-tom retku i B_iB\_i-tom stupcu i polja koje se nalazi u C_iC\_i-tom retku i D_iD\_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 QQ iz teksta zadatka.

U ii-tom od sljedećih QQ redaka su brojevi N_iN\_i, M_iM\_i, A_iA\_i, B_iB\_i, C_iC\_i i D_iD\_i iz teksta zadatka. Pritom vrijedi 1≤A_i,C_i≤N_i1 ≤ A\_i , C\_i ≤ N\_i, 1≤B_i,D_i≤M_i1 ≤ B\_i , D\_i ≤ M\_i, te (A_i,B_i)≠(C_i,D_i)(A\_i , B\_i) ≠ (C\_i , D\_i).

출력

Postoje dva tipa podzadataka (vidi tablicu bodovanja).

Tip konstrukcija:

Kao odgovor na ii-ti upit potrebno je ispisati 2N_i−12N\_i - 1 redaka s po 3M_i−23M\_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 ii-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,0001 ≤ N\_i , M\_i ≤ 5\\,000 i 1≤Q≤1,6001 ≤ Q ≤ 1\\,600.

힌트

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

예제3

  1. 예제 1

    입력
    2
    2 3 1 1 2 2
    3 3 1 1 3 3
    
    예상 출력
    *--o--o
          |
    o  *--o
    *  o--o
    |  |  |
    o  o  o
    |  |  |
    o--o  *
    
  2. 예제 2

    입력
    2
    2 3 1 1 2 2
    3 3 1 1 3 3
    
    예상 출력
    *--o  o
       |
    o  *  o
    *  o  o
    |
    o  o--o
    |  |  |
    o--o  *
    
  3. 예제 3

    입력
    2
    2 3 1 1 2 2
    3 3 1 1 3 3
    
    예상 출력
    5
    9