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$ ممرات ثنائية الاتجاه، مسار وحيد بين أي موقعين. Bessie في أحد $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.