Longest increasing pub-sequence | 프로그래밍의 벗 PivotOJ
PivotOJ

Longest increasing pub-sequence

시간 제한: 3000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2019 — kattBOJ 26961
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

Elise har just börjat på Stackköpings Tekniska Högskola (STH), och som en del av mottagningen ordnas en traditionell pubrunda. En pubrunda går ut på att man besöker alla sektionslokaler och dricker något på varje ställe. Elise och hennes kompisar dricker inte alkohol, men däremot gillar de att gå långa sträckor. Därför tänker de utforma en runda med så många besök som möjligt, sådan att avstånden de går mellan lokalerna är strikt ökande. Din uppgift är att hitta maximala antalet besök de kan uppnå.

Sektionslokalerna finns på punkter i planet med heltalskoordinater. Elise och hennes kompisar går alltid kortaste avståndet mellan två lokaler. Avståndet är det vanliga Euklidiska, dvs. (x1x2)2+(y1y2)2\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}. De får börja vid vilken lokal som helst. Det är tillåtet att besöka samma sektionslokal flera gånger, och det räknas som separata besök. Däremot får de inte besöka samma ställe två gånger på raken.

[이미지 1]

Bilden föreställer Exempel 1. Om du startar vid (1,0)(1,0) och går längs med de röda pilarna får du en runda med 66 besök, vilket också är det maximala antalet.

입력

Första raden innehåller ett heltal NN, antalet sektionslokaler (2N20002 \leq N \leq 2000). De följande NN raderna innehåller två heltal xi,yix_i, y_i, koordinater för varje sektionslokal (0xi,yi1090 \leq x_i, y_i \leq 10^9).

출력

Skriv ut ett heltal, maximala antalet besök Elise och hennes kompisar kan göra om avstånden mellan punkterna är strikt ökande.

예제

예제 1

입력
4
0 0
1 0
0 2
2 3
출력
6

예제 2

입력
2
4 5
1 7
출력
2

예제 3

입력
3
1000000000 1000000000
0 0
44444444 55555555
출력
4

예제 4

입력
9
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
출력
6
코드를 제출하려면 로그인하세요.