오 답 회고 총화: 면적 교

1056 단어 php
전송 문:http://192.168.173.163/JudgeOnline/problem.php?cid=1244&pid=4
해석:
좌표 계 는 장단 축 비례 에 따라 바 뀌 고 그 후에 두 개 등 큰 원 의 면적 교 제 를 구 하 는 것 과 같 으 며 구 한 후에 변환 비례 를 곱 하면 된다.
#include
using namespace std;

int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		double a,b,x1,y1,x2,y2;
		scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&x1,&y1,&x2,&y2);		//     "%lf" ! 
		double rate=a/b;
		x1=x1/rate;x2=x2/rate;						//            ,
											//                
		double r=b;							//            ! 
		double d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));		//              
		double ans;
		
		if(d>=2*r) ans=0;		//       ! 
		else
		{
			double ang=2*acos(d/2/r);		 //    acos(a/b) in c++ == arccos(a/b) in maths
			double l=sqrt(r*r-d*d/4);
			ans=r*r*ang-l*d;		//geometric konledge!
		}
		printf("%.2f
",ans*rate); // %.2f } return 0; }

이 기하학 적 공식 에 대한 추 도 는 내 가 심혈 을 기울 여 연구 해 야 한다!
다음으로 전송:https://www.cnblogs.com/dragondragon/p/11386021.html

좋은 웹페이지 즐겨찾기