CF589H.Tourist Guide

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

创建一份旅游指南并不像人们想象的那么容易。一份好的旅游指南应当能恰当地分配游客在全国的流动,并最大化旅游收入。因此,只有在满足若干条件的情况下,指南才能被宣布为官方旅游指南并获得旅游部的批准。

旅游部从全国 nn 个城市中选出了 kk 个著名城市。基本要求是,为了符合严格的规定并获得旅游部的审批,旅游指南应以著名城市之间的若干条路线组成,且需满足以下条件:

  • 每条路线的起始城市和终止城市必须是不同的著名城市;
  • 每个著名城市充当路线端点的次数最多为一次;
  • 任意两条路线没有公共公路。

请注意,路线可以经过其他著名城市。旅游收入在很大程度上取决于旅游指南中包含的路线数,因此任务是尽可能多地找出符合上述规定的著名城市间路线集合。

输入格式

第一行包含三个整数 n,m,kn, m, k,分别表示全国城市数、道路数和著名城市数,满足 1≤n≤50000,0≤m≤50000,1≤k≤n1 \leq n \leq 50000, 0 \leq m \leq 50000, 1 \leq k \leq n。

接下来 mm 行,每行两个整数 ai,bia_i, b_i,表示城市 aia_i 和 bib_i 之间有一条双向公路。保证 ai≠bia_i \neq b_i,且任意一对城市之间至多只有一条公路。

最后一行为 kk 个不重复的整数,表示所有著名城市的编号。所有城市编号为 11 到 nn。

输出格式

输出的第一行应包含一个整数 cc,表示旅游指南中包含的路线数。接下来的 cc 行,每行输出一条旅游路线。每条路线格式为:“t v1 v2 ... vt+1t\ v_1\ v_2\ ...\ v_{t+1}”,其中 tt 为路线中经过的公路数,v1,v2,...,vt+1v_1, v_2, ..., v_{t+1} 依次表示沿途经过的城市编号,首尾城市均为著名城市。

如果有多种答案,输出任意一种即可。

输入输出样例

  • 输入#1

    6 4 4
    1 2
    2 3
    4 5
    5 6
    1 3 4 6
    

    输出#1

    2
    2 1 2 3
    2 4 5 6
    
  • 输入#2

    4 3 4
    1 2
    1 3
    1 4
    1 2 3 4
    

    输出#2

    2
    1 1 2
    2 3 1 4
    

说明/提示

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页