【ACM】杭电OJ 2552

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN___CSDN/article/details/83757939

本来还查了atan 和 atan2 的用法,结果总是WA

看了解析之后才知道原来是要公式推导,最后得出所求的式子是一个等式,结果为1。

所以,以后出类似与数学公式的题,可能是要手算推到,在输出特定的结果。(长见识!之前也遇到过,突然想起来)

WA代码:

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int main ()
{
	int n;
	double s,u,v,r;
	cin>>n;
	while(n--)
	{
		cin>>s>>u;
		r=atan(1/s)-atan(1/u);
		v=1/tan(r);
		cout<< floor(v*u-s*u-s*v)<<endl;
	}
	return 0;
}

AC代码:

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int main ()
{
	int n;
	cin>>n;
	while(n--)
	{
		cout<<"1"<<endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/CSDN___CSDN/article/details/83757939