QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#22472. פרות בעצים

Statistics
איור

Bessie ו־Farmer John טיילו ב־Mootreepolis, נפרדו והיא אבדה. צוות מחפש; הרמז היחיד הוא כיוון הגעייה הנשמעת בכל העיר.

התחבורה עץ כשם העיר: $N$ מקומות ($1 \le N \le 100,000$), מספרים $0$..$N$-$1$, $N$-$1$ שבילים דו־כיווניים, מסלול יחיד בין כל זוג. היא באחד מ־$N$ מקומות.

מחפש בכל אחד מ־$N$ מקומות. FJ יכול להתקשר על כיוון הגעייה, איזה שביל לכיוונה, או שמצאו אותה שם.

הטלפון יקר, רוצים מינימום שיחות. קבעו איפה להתקשר, בפרט להבטיח עד $20$ לפני דיווח המיקום.

הערה: ב־$50\%$ מהקלטים $N$ לכל היותר $1000$.

קראו תחילה מפה מהקלט התקני ואז תקשרו עם הבודק דרך קלט/פלט תקניים. כל שורה ראשונית רשימת שבילי מקום; אינדקסי הרשימה מאפס, חשוב בהמשך.

שורה ראשונה $N$, הבאות שכנים מהמקום $0$. ראשון $K$ ($1 \le K \le N$), מספר שכנים, ואז $K$ שלמים $N_{0}$, $N_{1}$, …, $N_{K-1}$, אינדקסי שכנים מאפס. שביל מגדיר שכנות.

הדפיסו מקומות ברצף. כל תגובה אינדקס שביל לכיוון Bessie ברשימת שורת הקלט המקורית. קראו מהקלט התקני.

הדפסת המקום שלה מסיימת אוטומטית. QOJ סוגר תגובות במציאתה; סיימו כרגיל בסוף הקלט בעת קריאת תגובה.

הבודק יכול להגיב באופן מסתגל, אך כולן תואמות לפחות מקום אפשרי אחד.

במציאה מובטח ניקוד שאינו אפס: עד $20$ שאילתות כולל נוכחית נותן $10$, מ־$30$ נותן $0$, אחרת $30$ פחות מספר שאילתות.

נניח אותה בצומת $5$ במפה, תיאור הקלט מימין:

                               Node Count Neighbors
                0   1            0      1 3
                |   |            1      1 4
             2--3---4--5(B)      2      1 3
                |   |            3      4 0 2 6 4
                6   7            4      4 3 7 1 5
                                 5      1 4
                                 6      1 3
                                 7      1 4

טבלת תקשורת: query פלט תקני, response קלט תקני, location המקום המצויין. details רשימת השכנים המלאה והמסודרת עם פירוש ב־<>:

Query   Response    Location     Neighbor list details 
  2        0           3          <3>
  6        0           3          <3>
  3        3           4          0 2 6 <4>
  4        3           5          3 7 1 <5>
  5        Done; program will be terminated

מ־$2$, $6$, שכן הקרוב והיחיד $3$. מ־$3$ זה $4$, מ־$4$ זה $5$. היא ב־$5$, הדפסת $5$ מסיימת את התוכנית.

תוכניות אינטראקטיביות

רוקנו פלט כדי שלא יישאר בחוצץ התוכנית.

C/C++ עם stdio.h, הוסיפו:

setbuf(stdout, 0);

ליד תחילת התוכנית.

C++ iostream, רוקנו כל שורה כך:

cout << line << "\n" << flush;

Pascal אחרי כל writeln הוסיפו:

flush(stdout);

Java אחרי כל פלט הוסיפו:

System.out.flush();

חריגת זמן אחרי תשובה כנראה ריקון שגוי.

משתמשי Java

זה (נקווה) שלד הקלט/פלט הנחוץ:

import java.io.*;
import java.util.*;
public class cowtree {
    public static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new
                                          InputStreamReader(System.in));
        /* write ... */
        System.out.println(...);
        System.out.flush();
        /* read a reply */
        response = in.readLine();
        ...

Node: צומת

Count: מספר

Neighbors: שכנים

Query: שאילתה

Response: תגובה

Location: מקום

Neighbor list details: פרטי רשימת שכנים

Done; program will be terminated: הסתיים, התוכנית תסתיים

write ...: כתוב

read a reply: קרא תגובה

קלט

  • שורה $1$: שלם $N$.

  • שורות $2..N+1$: שורה $i+2$ מתארת שכני מקום $i$ בשלמים מופרדים $K$, $N_{0}$, …, $N_{K-1}$.

פלט

  • אין שורה בקובץ פלט: כתבו לפלט התקני, לא לקובץ.

דוגמאות

קלט 1

8
1 3
1 4
1 3
4 0 2 6 4
4 3 7 1 5
1 4
1 3
1 4

פלט 1

מחבר הבעיה: MIT, 2010

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.