Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100 Interactive
Statistics

Бұл — интерактивті есеп.

KUPC-кун келесі есепті шығаратын бағдарлама жазды.

Сізге $N$ төбесі бар $T = (V, E)$ ағашы берілген. $T$ ағашының төбелерінен тұратын ұзындығы $k$ болатын $\{a_1, \dots, a_k\}$ тізбегі үшін оның ұпайын келесідей анықтайық. - $d(u, v)$ арқылы $T$ ағашындағы $u$ мен $v$ төбелерінің арасындағы жолдағы қабырғалар санын белгілейік. Сонда ұпай $\prod_{i=1}^k d(a_i, a_{(i \bmod k)+1})$ болады.

$V$ жиынының $S$ ішкі жиыны берілген. Әрбір $1 \le k \le N$ үшін келесі $q_k$ мәнін табыңыз. - Элементтері $S$ жиынына тиісті, ұзындығы $k$ болатын барлық $\{a_1, \dots, a_k\}$ төбелер тізбектерінің ұпайларының қосындысы ($2^{61} - 1$ модулі бойынша).

KUPC-кун $T$ ағашы туралы ақпаратты алдын ала құпия сақтайды және бағдарламаға берілетін ағаш ретінде $T$-ны қолдануды жалғастырады.

Сіз жоғарыдағы бағдарламаны пайдаланып, жапырақтар туралы ақпаратты қалпына келтіруге тырысасыз. Ағаштың төбелер саны $N$ болса, сіз келесі сұрақты ең көбі $N$ рет қоя аласыз.

  • $V$ жиынының $S$ ішкі жиынын таңдап, бағдарламаның шығысын сұрау.

KUPC-кунның бағдарламасы дұрыс деп есептеп, сұрақтар арқылы алынған ақпараттан $T$ ағашындағы барлық жапырақтарды анықтаңыз.

Қазылар алқасы бейімделгіш емес (not adaptive), яғни $T$ ағашы өзара әрекеттесу басталғанға дейін бекітілген.

Өзара әрекеттесу хаттамасы

Алдымен стандартты кірістен $N$ беріледі. ($2 \le N \le 50$)

Әрбір сұрақ үшін стандартты шығысқа келесі форматта шығарыңыз.

? s1s2...sN

Мұндағы $s_1s_2\cdots s_N$ — $S$ ішкі жиынын сипаттайтын ұзындығы $N$ жол, мұнда егер $i \in S$ болса, $s_i = 1$, ал егер $i \notin S$ болса, $s_i = 0$.

Жауап ретінде стандартты кірістен келесі деректер беріледі.

q1 q2 ... qN

Барлық жапырақтарды анықтағаннан кейін, жауабыңызды келесі форматта шығарыңыз.

! t1t2...tN

Мұндағы $t_1t_2\cdots t_N$ — ұзындығы $N$ жол, мұнда егер $i$ жапырақ болса, $t_i = 1$, ал жапырақ болмаса, $t_i = 0$.

Осы шығыстан кейін бағдарламаңызды дереу аяқтаңыз.

Бірдеңе шығарған сайын соңына жаңа жол таңбасын қосып, стандартты шығыс буферін тазалаңыз (flush).

Мысал

1-мысал кірісі

5

0 8 0 32 0

0 44 108 968 3960

0 0 0 0 0

0 76 348 3336 22200

1-мысал шығысы

? 00101

? 11001

? 10000

? 11111

! 11001

Ескертпе

Бірінші мысал үшін қазылар алқасы құпия сақтайтын ағаштың қабырғалар жиыны: $(1, 3), (2, 3), (3, 4), (4, 5)$.

Бірінші сұрақта $S = \{3, 5\}$.

$d(3, 3) = 0, d(3, 5) = d(5, 3) = 2, d(5, 5) = 0$ екеніне назар аударыңыз.

Мысалы, элементтері $S$-ке тиісті, ұзындығы $2$ болатын келесі $4$ төбелер тізбегі $a$ бар.

  • Егер $a = (3, 3)$ болса, онда бұл тізбектің ұпайы $d(3, 3) \times d(3, 3) = 0 \times 0 = 0$.
  • Егер $a = (3, 5)$ болса, онда бұл тізбектің ұпайы $d(3, 5) \times d(5, 3) = 2 \times 2 = 4$.
  • Егер $a = (5, 3)$ болса, онда бұл тізбектің ұпайы $d(5, 3) \times d(3, 5) = 2 \times 2 = 4$.
  • Егер $a = (5, 5)$ болса, онда бұл тізбектің ұпайы $d(5, 5) \times d(5, 5) = 0 \times 0 = 0$.

Қазылар алқасы $q_2$ үшін $8$ деп жауап береді, бұл — $0 + 4 + 4 + 0$ қосындысын $2^{61} - 1$ санына бөлгендегі қалдық.

Басқа тізбек ұзындықтары үшін де дәл осылай есептеу арқылы қазылар алқасының 0 8 0 32 0 жауабын аламыз.

Бұл ағаштың жапырақтары — $1, 2, 5$ төбелері, сондықтан ! 11001 шығару жапырақтарды анықтауды дұрыс аяқтайды.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1529EditorialOpen题解jianglyView

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.