Թրեյլերների ընտրություն․ ամենամոտ տրամադրության որոնում

Սթրիմինգային հավելվածը պետք է յուրաքանչյուր օգտատիրոջ համար ընտրի թրեյլերի տրամադրությունը՝ funny (զվարճալի), թե serious (լուրջ)։ Այն հաշվի է առնում, թե որքան երկար են մարդիկ դիտում (րոպեներով), որքան հաճախ են վերանայում, ինչ ժանր են նախընտրում և ինչ սարք են օգտագործում։ Սակայն դիտման տևողությունը և վերանայումների քանակը տարբեր սանդղակների վրա են, իսկ ժանրերն ու սարքերը տեքստային տվյալներ են։ Ուստի, նախքան ամենամոտ գոյություն ունեցող օրինակն ընտրելը, հավելվածին անհրաժեշտ է այս ամենը համեմատելու արդար եղանակ։

Ձեզանից պահանջվում է կարդալ ժանրերի և սարքերի բառարանները, դիտումների նախնական հավաքածուն, այնուհետև դասակարգել նոր գրառումները՝ օգտագործելով 1-NN (1-ամենամոտ հարևան) ալգորիթմը։ Օգտագործեք միայն նախնական գրառումների վիճակագրությունը՝ երկու թվային հատկանիշները նույն սանդղակի բերելու համար՝ ստանդարտացնելով դրանք (z-score-ի միջոցով)։ Երկու կատեգորիկ հատկանիշները, համաձայն տրված բառարանների, վերածեք one-hot կոդավորման։ Այնուհետև միացրեք բոլոր հատկանիշները և Էվկլիդյան հեռավորությամբ ընտրեք միակ ամենամոտ հարևանին։ Եթե մի քանի հարևաններ գտնվում են նույն հեռավորության վրա, տպեք այբբենական կարգով ամենափոքր պիտակը։ Բառարանում չգտնված թոքենները տվյալ դաշտի համար ակտիվ բիթ չեն ավելացնում։

Մուտքի առաջին տողում տրված է v1 ամբողջ թիվը, որին հաջորդող տողում տրված են v1 թոքեններ, որոնք կազմում են ժանրերի բառարանը։ Հաջորդ տողում տրված է v2 ամբողջ թիվը, որին հաջորդող տողում տրված են v2 թոքեններ, որոնք կազմում են սարքերի բառարանը։

Դրան հաջորդող տողում տրված է n ամբողջ թիվը, որը ցույց է տալիս նախնական գրառումների քանակը։ Հաջորդ n տողերից յուրաքանչյուրը պարունակում է երկու իրական թիվ և երեք թոքեն՝ watch_time, rewatch_count, genre, device, label։

Հաջորդ տողում տրված է q ամբողջ թիվը։ Հաջորդ q տողերից յուրաքանչյուրը պարունակում է դասակարգման ենթակա գրառում՝ watch_time, rewatch_count, genre, device։

Ծրագիրը պետք է տպի q տող։ Յուրաքանչյուր տող պետք է պարունակի կանխատեսված պիտակը՝ funny կամ serious։

Մուտք

Ելք

3
comedy action drama
2
mobile tv
5
30 5 comedy mobile funny
80 1 drama tv serious
60 2 action mobile serious
25 6 comedy tv funny
90 1 drama tv serious
2
28 5 comedy mobile
75 1 drama tv

funny
serious

2
comedy drama
3
mobile tv web
4
40 3 comedy mobile funny
70 1 drama web serious
50 4 comedy tv funny
85 1 drama tv serious
2
50 4 comedy tv
85 1 drama tv

funny
serious

3
comedy action drama
2
mobile tv
4
35 4 comedy mobile funny
70 1 drama tv serious
55 3 action tv serious
32 5 comedy tv funny
2
35 4 comedy tablet
60 2 action tv

funny
serious

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