Universal Cup Judging System

Universal Cup

実行時間制限: 1.0 s メモリ制限: 256 MB 満点: 100 インタラクティブ
統計

Бұл интерактивті есеп. Әр жолды шығарғаннан кейін шығыс буферін тазарту (flush) қажет. C++ тілінде cout << flush, Java тілінде System.out.flush(), ал Python тілінде sys.stdout.flush() қолдануға болады. «Өзара әрекеттесу» бөліміндегі нұсқауларды қатаң сақтауыңыз керек; әйтпесе қате жауап (wrong answer), уақыт шегінен асып кету (time limit exceeded) немесе басқа да вердикттер алуыңыз мүмкін.

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

$[0, 2^N - 1]$ аралығындағы бүтін сандардан тұратын ұзындығы $N$ болатын жасырын $A$ тізбегі бар. Сіздің міндетіңіз — шектеулі сұраулар санын пайдаланып оны қалпына келтіру. Әр сұрауда сіз элементтері $[0, 2^N - 1]$ аралығында жаatқан ұзындығы $N$ болатын $B$ тізбегін бересіз. Жауап келесідей есептеледі:

  • $C$ тізбегі құрылады, мұндағы $C$-ның $i$-ші элементі $A$ және $B$ тізбектерінің $i$-ші элементтерінің биттік xor-ына (bitwise xor) тең. Біз xor-ды $\oplus$ таңбасымен белгілейміз.
  • $S$ жиыны $C$ элементтерінің қандай да бір ішкі жиынын xor-лау арқылы алуға болатын барлық мәндердің жиыны ретінде құрылады. Дербес жағдайда, бос ішкі жиын үшін xor мәні $0$-ге тең.
  • Сұраудың жауабы — $|S|$.

Мысалы, егер $A = (1, 4, 3)$ және $B = (0, 4, 7)$ болса, онда $C = (1 \oplus 0, 4 \oplus 4, 3 \oplus 7) = (1, 0, 4)$ және $S = \{0, 1, 4, 5\}$, сондықтан жауап $4$ болады.

Екі $x$ және $y$ сандарының биттік xor-ында $i$-ші бит тек $x$ пен $y$-тің дәл біреуінде ғана $i$-ші бит орнатылған болса ғана орнатылады. Мысалы, $5 \oplus 3 = (101)_2 \oplus (011)_2 = (110)_2 = 6$. C++ және Python тілдерінде xor — ^ операторы.

Өзара әрекеттесу

$A$ тізбегі бастапқыда бекітілген және жасалған сұрауларға тәуелді емес.

Алдымен бір бүтін сан $1 \le N \le 60$ бар жолды оқыңыз. Содан кейін сұраулар қоя аласыз.

Сұрау қою үшін ? таңбасынан кейін $[0, 2^N - 1]$ аралығындағы $N$ бүтін сан бар жолды шығарыңыз. Жауап ретінде бір бүтін санды оқыңыз.

Дайын болған кезде, ! таңбасынан кейін жасырын тізбектің $N$ бүтін санын шығарыңыз. Содан кейін бағдарламаңыз басқа ештеңе шығармай аяқталуы тиіс.

Әр сұраудан кейін және жауапты жазғаннан кейін шығыс буферін тазартуды (flush) ұмытпаңыз. Сандар мен ?, ! таңбаларының арасына бос орын қойыңыз.

Мысалдар

Кіріс 1

3
4
8

Шығыс 1

? 1 2 3
? 0 0 0
! 1 3 4

Ескертпе

Мысалдағы өзара әрекеттесудің түсіндірмесі: $N = 3$ ? 1 2 3 сұрауы: $B = (1, 2, 3)$, $C = (1 \oplus 1, 3 \oplus 2, 4 \oplus 3) = (0, 1, 7)$, $S = \{0, 1, 6, 7\}$, жауабы — $4$. ? 0 0 0 сұрауы: $B = (0, 0, 0)$, $C = (1 \oplus 0, 3 \oplus 0, 4 \oplus 0) = (1, 3, 4)$, $S = \{0, 1, \dots, 7\}$, жауабы — $8$. ! 1 3 4 шығысы: Жасырын тізбек — $A = (1, 3, 4)$.

Жергілікті тестілеу

Files бөлімінен мысал тесттері мен grader.cpp грейдері бар B.zip мұрағатын таба аласыз. Шешіміңізді тексеру үшін оны компиляциялап, содан кейін тест атауы мен орындалатын файлыңызды компиляцияланған ./grader бағдарламасына беріңіз:

./grader [test] [executable]

Мысалы: ./grader 0b.in ./abc

Мысал грейдерінің ресми грейдермен бірдей жұмыс істейтініне кепілдік берілмейді. Дегенмен, екеуі де адаптивті емес.

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.