CF84C.Biathlon

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

也许很多人都听说过世界冬季两项锦标赛已经结束。虽然我们的主角 Valera 并未亲自到场,只是在电视上观看了这场精彩的赛事,但这一切依然让他非常兴奋,于是他决定报名参加一个冬季两项训练班。

当然,冬季两项和其他任何体育运动一样,实践起来十分困难。这需要花费大量的时间和精力。训练、训练、再训练——这就是 Valera 走向冬季两项伟大成就道路上所要经历的事情。

至于训练,你们大概都知道,每个职业冬季两项运动员都必须滑雪速度快,同时在靶场上射击精准。只有如此,才能取得成功,因为奔跑和射击是冬季两项的两个主要组成部分。Valera 在滑雪训练上非常刻苦,因此他的速度很快,但他的射击准确率却不值得一提。

Valera 所训练的冬季两项基地里,有一个巨大的射击场,里面有 nn 个靶子。每个靶子的形状都是圆形,且每个圆的圆心都位于 OxOx 轴上。在最近的一次训练中,Valera 一共射击了 mm 次。为了方便他自己记录成绩,一位颇有名气的程序员(当然就是你)被委托编写一个程序,用于统计 Valera 击中了多少个靶子,以及击中的是哪些靶子。更具体地说,对于每个靶子,程序需要输出被首次击中的那一枪的编号,如果该靶子未被击中则输出“-1”。只要子弹打在圆内或圆的边界上,就认为击中了该靶子。Valera 很依赖你,也许凭借你的帮助他有朝一日能赢得国际比赛。

输入格式

输入的第一行为整数 nn(1≤n≤1041 \leq n \leq 10^4),表示靶子的数量。接下来的 nn 行描述每个靶子。每个靶子是一个圆,其圆心都位于 OxOx 轴上。每个圆由其圆心坐标 xx(−2⋅104≤x≤2⋅104-2 \cdot 10^4 \leq x \leq 2 \cdot 10^4)和半径 rr(1≤r≤10001 \leq r \leq 1000)给出。保证不存在哪两个靶子完全重合、相交或相互包含,但它们可以相切。

接下来一行是一个整数 mm(1≤m≤2⋅1051 \leq m \leq 2 \cdot 10^5),表示射击次数。接下来的 mm 行描述每次射击,每次射击是平面上的一个点,由其坐标 xx 和 yy 给出(−2⋅104≤x,y≤2⋅104-2 \cdot 10^4 \leq x, y \leq 2 \cdot 10^4)。

输入中所有的数都是整数。

靶子和射击按照输入顺序从 11 开始编号。

输出格式

第一行输出一个整数,表示 Valera 击中的靶子数量。第二行输出 nn 个整数,第 ii 个数表示第 ii 个靶子被首次击中的那一枪的编号,如果该靶子没有被击中则输出 −1-1。用空格分隔各个数字。

输入输出样例

  • 输入#1

    3
    2 1
    5 2
    10 1
    5
    0 1
    1 3
    3 0
    4 0
    4 0
    

    输出#1

    2
    3 3 -1 
    
  • 输入#2

    3
    3 2
    7 1
    11 2
    4
    2 1
    6 0
    6 4
    11 2
    

    输出#2

    3
    1 2 4 
    

说明/提示

由 ChatGPT 5 翻译

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

首页