列表

详情


NC50428. 数星星 Stars

描述

天空中有一些星星,这些星星都在不同的位置,每个星星有个坐标。如果一个星星的左下方(包含正左和正下)有k颗星星,就说这颗星星是k级的。
stars1.png 
例如,上图中星星5是3级的(1,2,4在它左下),星星2,4是1级的。例图中有1个0级,2个1级,1个2级,1个3级的星星。
给定星星的位置,输出各级星星的数目。
一句话题意给定n个点,定义每个点的等级是在该点左下方(含正左、正下)的点的数目,试统计每个等级有多少个点。

输入描述

第一行一个整数N,表示星星的数目;
接下来N行给出每颗星星的坐标,坐标用两个整数x,y表示;
不会有星星重叠。星星按y坐标增序给出,y坐标相同的按x坐标增序给出。

输出描述

N行,每行一个整数,分别是0级,1级,2级,……,N-1级的星星的数目。

示例1

输入:

5
1 1
5 1
7 1
3 3
5 5

输出:

1
2
1
1
0

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++ 11.0.1) 解法, 执行用时: 51ms, 内存消耗: 608K, 提交时间: 2022-08-01 15:32:39

#include <bits/stdc++.h>
using namespace std;int n,level[15010],a[15010],b[15010],i;int main(){cin>>n;for(i=1;i<=n;i++){cin>>a[i]>>b[i];int t=0;for(int j=1;j<i;j++)if(a[j]<=a[i])t++;level[t]++;}for(i=0;i<n;i++)cout<<level[i]<<endl;return 0;}

上一题