2508.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 35 行

TXT
35
字号

Memory:64K  Time:0MS
Language:G++  Result:Accepted

Source 

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

const double pi = 3.1415926535898;

int main()
{
	double r, h, d1, a1, d2, a2, dg, l, s, a;

	while( scanf( "%lf%lf%lf%lf%lf%lf", &r, &h, &d1, &a1, &d2, &a2 ) == 6 )
	{
		l = sqrt( r*r + h*h );
		dg = 2*r*pi / l;

		a = fabs(a1-a2);
		if( a > 180 ) a = 360 - a;

		a = a / 360 * dg;

		s = sqrt( d1*d1 + d2*d2 - 2*d1*d2*cos( a ) );

		printf( "%.2lf\n", s );
	}

	return 0;
}


⌨️ 快捷键说明

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