RT,我做的是昨天CFdiv2的C1。
一开始用的是printf("%.8Lf\n",ans);
。在本地Dev-c++上运行结果是正确的,在洛谷IDE上运行结果也是正确的,但是在codeforces上提交就炸了/kk。因此蒟蒻很好奇用printf输出long double的正确姿势是什么QwQ
这是我的提交记录,如果看不了下面是我的代码和一些必要的评测信息(read是快读函数我为了减小代码占用空间把它删了)
附:请不要说用cout或用double,我只是好奇用printf怎么输出long double。 qwq
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<iomanip>
#include<algorithm>
#define ld long double
#define fo(i,x,y) for(register int i=x;i<=y;++i)
#define go(i,x,y) for(register int i=x;i>=y;--i)
using namespace std;
const ld phi=3.1415926535;
void work(){
int n=read()*2;//read是快读函数
/*if(n==0){
puts("1.00000000");
return;
}*/
ld hudu=phi/n;
ld s=sin(hudu);
//s*=2.0;
//cout<<s<<endl;
ld R=1.0/s;
ld ans=sqrt(R*R-1);
//ld ans=1.0/(2*sin(phi/2*n));
//cout<<fixed<<setprecision(8)<<ans<<endl;
printf("%.8Lf\n",ans);
//puts("");
}
int main(){
int T=read();
while(T--){
work();
}
return 0;
}
Author Problem Lang Verdict Time
vectorwyx 1354C1 - 9 GNU C++11 Wrong answer on test 1