您的位置:首页 > 其它

数星星

2015-07-12 11:59 246 查看


数星星

Time Limit: 1 Sec Memory Limit: 128 MB

Submit: 7 Solved: 3

[Submit][Status][Web
Board]


Description

一天,小明坐在院子里数星星,Gardon就出了个难题给她:Gardon在天空画出了一个矩形区域,让他输入矩形区域里有多少颗星星,仁慈的上帝还为他标出了每个星星的坐标。但小明数着数着就看花了眼,但他的原则是:宁愿多数一次,不可错过一个。如果小明把他数过的星星的坐标都告诉你,你能否帮他进行排重处理(如果两个星星的坐标位置相同,则视为一个星星),计算出星星的个数。


Input

首先输入一个整数n(n<=300),接下来的n对整数,每对表示小明数过的一个星星的位置(星星的坐标在-10000到10000之间)。


Output


输出星星的个数。



Sample Input

5
0 3
1 5
1 1
0 1
1 5


Sample Output

4

#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct point
{
int x;
int y;
};
int cmp(point a,point b)
{
if(a.x!=b.x)
return a.x<b.x;
else
return a.y<b.y;
}
int main()
{
int n,i,count;
point a[400];
while(scanf("%d",&n)!=EOF)
{
count=0;
for(i=0;i<n;i++)
{
cin>>a[i].x>>a[i].y;
}
sort(a,a+n,cmp);
for(i=0;i<n;i++)
{
while(i<n-1 && a[i].x==a[i+1].x &&a[i].y==a[i+1].y)// aaabbc
{
i++;
}
count++;
}
cout<<count<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: