CEOI 2000 Day 2 Problem 3---Enlightened landscape

该博客探讨了CEOI 2000年第二日问题3,即'Enlightened landscape'。问题涉及一个由连接线段组成的地形,重点在于理解输入数据并进行相关分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Problem

Enlightened landscape

Consider a landscape composed of connected line segments:

Above the landscape, N light bulbs are hang at the same height T in various horizontal positions. The purpose of these light bulbs is to light up the entire landscape. A landscape point is considered lit if it can "see" a light bulb directly, that is, if the line segment which links the point with a bulb does not contain any other landscape segments point.

Task

Write a program that determines the mi-ni-mum number of light bulbs that must be switched on in order to illuminate the entire landscape.

Input

Input file name: LIGHT.IN
Line 1: M
  • An integer, the number of landscape height specifications, including the first and the last point of the landscape.
    Lines 2..M+1: Xi Hi
  • Two integers, separated by a space: the landscape height Hi at horizontal position Xi, 1 <= i <= M; for 1 <= i <= M-1 we have Xi+1 > Xi; any two consecutive specified points identify a segment of line in the landscape.
    Line M+2: N T
  • Two integers, separated by a space, the num-ber of light bulbs and their height coordinate (altitude). The bulbs are numbered from 1 to N)
    Line M+3: B1 B2 ... BN
  • N integers, separated by spaces: the hori-zon-tal coordinates of the light bulbs Bi+1 > Bi, 1 ?i ?N-1;

    Output

    File name: LIGHT.OUT
    Line 1: K
  • An integer: the minimum number of light bulbs to be switched on.
    Line 2: L1 L2 ... LK
  • K integers, separated by spaces: the labels of the light bulbs to be switched on spe-cified in increasing order of their horizontal coordinates.

    Limits

  • 1 <= M <= 200
  • 1 <= N <= 200
  • 1 <= Xi <= 10000 for 1 <= i <= M
  • 1 < T <= 10000
  • 1 <= Hi <= 10000 for 1 <= i <= M
  • T > Hi for any 1 <= i <= M
  • X1 <= B1 and BN <=XM
  • The task always has a solution for the test data. If there are multiple solutions, only one is required.

    Sample Input

    6
    1 1
    3 3
    4 1
    7 1
    8 3
    11 1
    4 5
    1 5 6 10
    

    Sample Output

    2
    1 4
    

    Solution

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值