Դասակարգում ըստ հեռավորության քառակուսու

Թանգարանը խնդրում է ձեզ դասակարգել նկարները՝ ըստ իրենց ոճի՝ պարզ 2D հատկանիշների քարտեզի վրա։ Ձեր հաշվիչի քառակուսի արմատի ստեղնը փչացել է, ուստի դուք պետք է դասակարգեք հարևաններին՝ օգտագործելով միայն Էվկլիդյան հեռավորության քառակուսին՝ ։

Յուրաքանչյուր նոր նկարի համար գտեք k ամենամոտ հայտնի նկարները՝ դասավորելով դրանք ըստ -ի աճման կարգի (առանց քառակուսի արմատի)։ Եթե երկու կամ ավելի հայտնի նկարներ ունեն ճիշտ նույն հեռավորությունը, նախապատվությունը տվեք այն նկարին, որը մուտքային տվյալներում ավելի շուտ է հանդիպում։

Կանխատեսեք ոճը՝ հիմնվելով այդ k հարևանների մեջ ամենահաճախ հանդիպող ոճի վրա (majority vote)։ Եթե ձայները հավասար են բաշխվել, ընտրեք այն ոճը, որը պատկանում է մուտքային տվյալներում ավելի շուտ հանդիպող նկարին (հավասար ձայներ հավաքածների միջից)։

Մուտքի առաջին տողում տրված է մեկ ամբողջ թիվ n՝ հայտնի նկարների քանակը ներկայացնող։

Հաջորդ n տողերից յուրաքանչյուրը պարունակում է երկու իրական թիվ x y, որոնց հաջորդում է ոճը նշող բառ, օրինակ՝ modern կամ classic։ Այս տվյալները նկարագրում են մեկ նկարի դիրքն ու ոճը։

Հաջորդ տողում տրված է մեկ ամբողջ թիվ k՝ որը ցույց է տալիս, թե քանի հարևան պետք է օգտագործել։

Այնուհետև տրված է մեկ ամբողջ թիվ q՝ դասակարգման ենթակա նկարների քանակը ներկայացնող։ Վերջին q տողերից յուրաքանչյուրը պարունակում է երկու իրական թիվ x y՝ որոնք նոր նկարի կոորդինատներն են։

Յուրաքանչյուր հարցման համար ծրագիրը պետք է տպի մեկ տող․ սկզբում՝ կանխատեսված ոճը, այնուհետև՝ օգտագործված k հարևանների հեռավորությունների քառակուսիները՝ դասավորված ըստ հարևանների հերթականության։

Մուտք

Ելք

4
0 0 modern
2 0 classic
0 2 classic
-1 -1 modern
3
3
0.9 0.1
1.1 0
1 1

classic 0.82 1.22 4.42
classic 0.81 1.21 5.21
classic 2 2 2

3
0 0 modern
2 0 classic
0 2 modern
2
2
1 0
0 1.5

modern 1 1
modern 0.25 2.25

5
0 0 classic
0 2 modern
2 0 modern
2 2 classic
1 1 modern
3
1
1 1.5

modern 0.25 1.25 1.25

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue