在很多年后,人类终于研究出来一个自动探索宇宙的飞船-----征途号。
现在征途号遇到了陨石群。
为了方便分析,征途号上的智能系统对当前空间建立三维直角坐标系,以征途号本身为原点(0,0,0),已知征途号的目标点T(x,y,z),现在雷达系统给出n个陨石的坐标。
如果你是征途号智能系统设计者,请你设计程序计算出征途号需要击毁多少个陨石(要求征途号只能直线到达目标位置)。
--------------------------
多组测试数据;
对于每组数据:
第一行包括三个数x,y,z,表示目标点;
第二行一个n(0<n<=1000);
接下来n行,每行三个数,代表每个陨石的坐标,保证不重复出现;
对于每个坐标,保证都为int范围内的整数;
保证原点和目标点没有陨石。
-------------------------
每组数据输出只有一行,输出应该击毁的陨石数目。(注意除法会产生精度误差)
--------------------------
2
#include<stdio.h> int main() { int x,y,z; while(scanf("%d%d%d",&x,&y,&z)!=EOF) { int n,x1,y1,z1,num=0; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d%d%d",&x1,&y1,&z1); if((x*x1>=0)&&(y*y1>=0)&&(z*z1>=0)&&(x*y1==x1*y)&&(y1*z==z1*y)&&(x*z1==x1*z)) { num++; } } printf("%d\n",num); } return 0; }