正在载入在线练习界面,本页内容可直接阅读…
AK CSP › NOIP 普及 2012 第一轮真题 › 第 28 题
NOIP 普及 2012 第一轮 第 28 题:统计平面点的左下方点数:第 2 空
题目
完善程序
(坐标统计)输入 $n$ 个整点在平面上的坐标。对于每个点,可以控制所有位于它左下方的点(即 $x,y$ 坐标都比它小),它可以控制的点的数目称为“战斗力”。依次输出每个点的战斗力,最后输出战斗力最高的点的编号(如果若干个点的战斗力并列最高,输出其中最大的编号)。
#include <iostream>
using namespace std;
const int SIZE =100;
int x[SIZE],y[SIZE],f[SIZE];
int n,i,j,max_f,ans;
int main()
{
cin>>n;
for(i=1;i<=n;i++) cin>>x[i]>>y[i];
max_f=0;
for(i=1;i<=n;i++)
{
f[i]= [ ① ];
for(j=1;j<=n;j++)
{
if(x[j]<x[i] && [ ② ])
[ ③ ] ;
}
if( [ ④ ])
{
max_f=f[i];
[ ⑤ ];
}
}
for(i=1;i<=n;i++) cout<<f[i]<<endl;
cout<<ans<<endl;
return 0;
}本小题
②处应填( )
答案
y[j]<y[i]
题解
考点定位
本题(左下方点数第②空)考「左下方判定」,对应大纲 4.2.1 模拟(难度【2】)。
解题过程
②处比较条件(排序后按 x 顺序,只需比 y):
``cpp if (y[j] < y[i]) f[i]++; ``
答案:y[j]<y[i]。
易错提醒
① 若 x 已升序排序,j<i ⇒ x[j]<x[i] 自动成立,只需判 y;② 「左下方」= 横纵坐标都严格更小。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号