基础91 数星星
题目详情
代码提交
运行结果
91 数星星
作者: Turbo时间限制: 1S章节: 结构体
问题描述 :
一天,小明坐在院子里数星星,爸爸就出了个难题给她:爸爸在天空指定了一个区域,让他数数这个区域里有多少颗星星,爸爸还为他标出了每个星星的坐标。但小明数着数着就看花了眼,并且也可能忘记某一颗星星是否已经数过,但他的原则是:宁愿多数一次,不可错过一个。如果小明把他数过的星星的坐标都告诉你,你能否帮他进行排重处理(如果两个星星的坐标位置相同,则视为一个星星),计算出星星的个数。
输入说明 :
首先输入一个整数n(n<=300),接下来的n对整数,每对表示小明数过的一个星星的位置(星星的坐标在-10000到10000之间)。
输出说明 :
输出星星的个数。
输入范例 :
5
0 3
-1 5
1 -1
1 1
-1 5
输出范例 :
4
#include
struct Star{int a;int b;
};
int main(){struct Star *st;int n,i,p,q,j=0,sum=0;scanf("%d",&n);st=(struct Star *)malloc(n*sizeof(struct Star));for(i=0;i<n;i++){scanf("%d%d",&p,&q);st[i].a=p;st[i].b=q;}if(n>0) sum=1; for(i=1;i<n;i++){ for(j=0;j<i;j++)if((st[i].a==st[j].a)&&(st[i].b==st[j].b)) break;if(j==i) sum++;}printf("%d\n",sum);return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
