求助NOIP2012普及初赛
  • 板块学术版
  • 楼主liuyutao1203
  • 当前回复6
  • 已保存回复6
  • 发布时间2021/8/25 21:50
  • 上次更新2023/11/4 09:01:02
查看原帖
求助NOIP2012普及初赛
180174
liuyutao1203楼主2021/8/25 21:50

NOIP2012普及组初赛完善程序第一题

(坐标统计)输入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;	
}

其中第4、5空洛谷答案为(i>1)&&(f[i]>f[i-1])和ans=max_f, 但一本通上答案为f[i]>=max_f和ans=i

2021/8/25 21:50
加载中...