Lu'i TopCoder Open 2019: tipi le pai i ni vaega se ono

Lu'i TopCoder Open 2019: tipi le pai i ni vaega se ono
I tulagavae ā€œO matou manumalo: TopCoder Open 2019ā€ Ou te lolomiina faafitauli mai le Algorithm track (polokalame ta'aloga masani. I le tasi ma le afa itula e te mana'omia e fo'ia ai fa'afitauli e tolu ile Java, C#, C++ po'o le Python.)

1. Pai mo le ono

Fausiaina o le faʻafitauli

Ole taimi fa'atapula'a ole 4 sekone.

E iai sau pai. A va'ai mai luga, o le keke e foliga o se polygon convex (malosi). Ua tu'uina atu ia te oe fa'amaopoopoina o pito i totonu ole X ma Y integers.

E toalima au uo. E te mana'o e vaevae le pai i ni vaega se ono o le eria tutusa (ae le tutusa foliga). Ioe, e mafai e se tasi ona faia i le lima tipi, ae na o se pro e mafai ona faia i le tolu tipi.

Su'e ni tipi se tolu i laina sa'o e oo atu i le tasi itu e vaevae ai le pai i ni vaega tutusa se ono. Lolomi {x, y, d1, d2, d3}, o le (x, y) o le tulaga masani o tipi uma e tolu, ma le d1, d2, d3 o le itu o le itu o tipi i radians.

FaamatalainaVasega: CakeForSix
Metotia: tipi
Fa'atulagaga: int[], int[]
Toe faafoi: faalua[]
Saini o le metotia: double[] cut(int[] x, int[] y)
(ia mautinoa o loʻo faʻasalalau lau metotia)

Faamatalaga

  • O le itu lelei i luga o le x-axis o le 0 (radians), o le itu lelei i luga o le y-axis o le pi/2 (radians).
  • O le tipi i le itu d e tutusa ma le tipi i le itu pi*k+d mo so'o se integer k.
  • E mafai ona e lolomi so'o se itu, e le tatau ona sau mai le [0, pi).
  • O le a fa'atatau e le tagata togi le vaega o lau keke e ono i fa'alua. O le a talia le tali pe afai o le eseesega poŹ»o le eseesega atoatoa i le va oi latou e itiiti ifo i le 10^(-4).
  • E sili atu le sa'o, tu'u le X ma le Y o le la'ititi ma le tele o au vaega e ono na fuafuaina e le tagata togi. Ona talia lea o lau tali pe a fai Y
  • (O le uluai lomiga o le faafitauli na faŹ»aaogaina ai le saŹ»o o le 1e-7 nai lo le 1e-4. Ina ia foia lenei faŹ»afitauli i le faŹ»amaumauga, na faŹ»aititia le tapulaa saŹ»o ona o le i ai o le valaŹ»au o mataupu e ono le mafai ai ona foia le faŹ»afitauli ma se faŹ»amaoni. o le 1e-7 I totonu o se lalolagi lelei, e le faŹ»atagaina e le tapulaŹ»a ia tulaga ma e manaŹ»omia pea le saŹ»o maualuga, o lea e le faigofie ai le foia o le faŹ»afitauli ma nisi faŹ»amatalaga numera lautele.)

Tapulaa

  • x e aofia ai mai le 3 i le 50 elemene e aofia ai.
  • y o lo'o iai le numera tutusa o elemene ma le x.
  • fa'amaopoopo uma ile va ole 0 ma le 10 e aofia ai
  • x ma le y fa'amatala se polygon convex i se itu fa'afeagai.

Original i le Igilisi

Faʻamatalaga Faʻafitauli

Taimi fa'atapula'a e 4 sekone.

E iai sau keke. Va'ai mai luga, o le keke o se polygon convex (malosi). E tu'uina atu ia te oe fa'amaopoopo o ona pito i le int[]sx ma le y.

E toalima au uo. E te mana'o nei e tipi le keke i ni vaega se ono o le eria tutusa (ae le tutusa foliga). Ioe, e mafai e soʻo se tasi ona faia lena mea i le lima tipi - ae naʻo se pro moni e mafai ona faia i le tolu!

Su'e ni fasi laina sa'o se tolu e ui atu i le itu e tasi e tipiina ai le keke i ni vaega tutusa tetele se ono. Toe fo'i {x, y, d1, d2, d3}, o le (x, y) o le tulaga masani o tipi e tolu, ma le d1, d2, d3 o latou faasinoga i radians.

Faamatalaina

Vasega: CakeForSix
Metotia: tipi
Fa'atulagaga: int[], int[]
Toe faafoi: faalua[]
Saini o le metotia: double[] cut(int[] x, int[] y)
(ia mautinoa o loʻo faʻasalalau lau metotia)

Faamatalaga
— O le itu lelei i luga o le axis x o le 0 (radians), o le itu lelei i le y axis o le pi/2 (radians).
— O le tipi i le itu d e tutusa ma le tipi i le itu pi*k+d mo soo se numera k.
— E mafai ona e toe foŹ»i atu i so o se itu, e lē tau sau mai le [0,pi).
— O le a fa'atusatusa e le tagata togi vaega o lau keke e ono i ta'ilua. O le a talia le tali pe afai o le eseesega poŹ»o le eseesega atoatoa i le va oi latou e itiiti ifo i le 10^(-4).
— A sili atu le sa'o, tu'u X ma Y o le la'ititi ma le tele o au eria e ono, e pei ona fa'atatauina e le tagata togi. Ona, talia lea o lau tali pe afai Y < max( X + 10^(-4), X * (1+10^(-4)) ).
- (O le uluai lomiga o le faafitauli na faʻaaogaina le 1e-7 saʻo nai lo le 1e-4. Mo le faʻaleleia o lenei faʻafitauli i le archive na faʻaititia le tapulaa saʻo ona o le i ai o mataupu luʻitau e foliga mai e le mafai ona foia le galuega ma le 1e-7 saʻo. . I totonu o se lalolagi lelei e le faatagaina e faʻalavelave ia tulaga ma o loʻo manaʻomia pea le faʻamaoni maualuga, ina ia le faigofie ona foia le faʻafitauli e ala i le faʻaogaina o numera lautele.)

Faʻailoga
- x o le ai ai i le va o le 3 ma le 50 elemene, e aofia ai.
- y o le a tutusa le numera o elemene ma le x.
- O faamaopoopo uma o le a i le va o le 0 ma le 10,000, e aofia ai.
- x ma y o le a faamatalaina se polygon convex i le faasologa faafeagai.

faataitaiga

0)

{0, 20, 30, 50, 30, 20}
{10, 0, 0, 10, 20, 20}
Toe foʻi mai:
{24.999999999437453, 9.999999999500002, 0.0, 0.7266423406817211, 2.4149503129080787 }

O se hexagon fa'atusa ae fa'aletonu. O le tali fa'ata'ita'iga e fetaui ma le tipiina i le afa fa'alava ma faia isi tipi se lua i lalo o le ogatotonu e vaevae ai vaega ta'itasi i ni vaega se tolu.

Lu'i TopCoder Open 2019: tipi le pai i ni vaega se ono

1)

{0, 1000, 0}
{0, 0, 1000}
Toe foʻi mai:
{333.3333333331763, 333.3333333332546, 0.7853981633986264, 2.0344439357948154, 2.6779450445891753 }

tafatolu taumatau. Toe, e mafai ona tatou amata i se tasi o tipi e tolu i luga o le axis of symmetry.

Lu'i TopCoder Open 2019: tipi le pai i ni vaega se ono

2)

{40, 70, 90, 90, 50}
{30, 20, 40, 100, 60}
Toe foʻi mai:
{69.79517771922892, 52.77575974637605, 2.0616329654335885, 3.637826104091601, 4.32123485812475 }

Pentagon le masani.

Lu'i TopCoder Open 2019: tipi le pai i ni vaega se ono

3)

{300, 400, 300, 200}
{500, 600, 700, 600}
Toe faafoi: {299.99999999974995, 599.9999999995, 0.0, 1.107148717794088, 2.034443935795705 }

O se sikuea na feliuliua'i 45 tikeri.

Lu'i TopCoder Open 2019: tipi le pai i ni vaega se ono

[Punaoa]

Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega. Saini ese j, faʻamolemole.

Sa ou foia le faafitauli mo

  • i lalo ifo o le 10 minute

  • 10-30 minute

  • 30-60 minute

  • 1-2 itula

  • i le silia ma le 2 itula

  • isi

42 tagata fa'aoga na palota. 47 tagata fa'aoga na le mafai.

puna: www.habr.com

FaŹ»atau talimalo faŹ»atuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers šŸ”„ Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster