⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3129.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:
Source

Problem Id:3129  User Id:fzk 
Memory:48K  Time:46MS
Language:C++  Result:Accepted

Source 

#include <stdio.h>
#include <math.h>

struct point {
	double x, y, z;
};

double dcheng( point &a, point &b ) {
	return a.x*b.x+a.y*b.y+a.z*b.z;
}

point p[500], q[50];
double r[50];

int main( ) {
	int i, j, n, m, counter;
	double t;
	while( scanf( "%d", &n ) == 1 && n ) {
		for( i=0; i<n; i++ )
			scanf( "%lf%lf%lf", &p[i].x, &p[i].y, &p[i].z );
		scanf( "%d", &m );
		for( i=0; i<m; i++ )
			scanf( "%lf%lf%lf%lf", &q[i].x, &q[i].y, &q[i].z, &r[i] );

		counter = 0;
		for( i=0; i<n; i++ ) {
			t = dcheng(p[i],p[i]);
			for( j=0; j<m; j++ ) {
				if( acos( dcheng( p[i], q[j] )/sqrt(t*dcheng(q[j],q[j])) ) < r[j] )
					break;
			}
			if( j < m )
				counter++;
		}
		printf( "%d\n", counter );
	}
	return 0;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -