标签:++ 格式 one insert style class name closed names
题目:链接
让求第k个内切圆的半径 r[k]
这题我们没做出来,主要是因为我发现的太晚了......
一开始看到的时候觉得图看起来太复杂就没去看....
最后还剩二十分钟的时候开始做,本来应该也是可以过的,结果读错输入格式了,然后就悲剧了...... 差点完成绝杀啊!!!
根据勾股定理很容易推出公式 r[k] = (√3 * R - R - 2 * c[i-1] )2 / ( 2 * √3 * R - 4 * c[i-1] )
其中 c[i] 是 r[i] 的前缀和.
1 #include <bits/stdc++.h> 2 using namespace std; 3 double r[23]; 4 double c[23]; 5 int main(){ 6 int t; 7 //freopen("in.txt","r",stdin); 8 scanf("%d",&t); 9 for(int i =0; i<=11;i++){ 10 r[i]=c[i]=0; 11 } 12 double R; 13 int k; 14 scanf("%lf", &R); 15 for(int i = 1; i <= 10; i++){ 16 double temp = (sqrt(3)-1)*R - 2*c[i-1]; 17 r[i]=temp/(2*sqrt(3)*R-4*c[i-1])*temp; 18 c[i]=c[i-1]+r[i]; 19 } 20 while(t--) { 21 scanf("%d", &k); 22 int a=r[k]; 23 printf("%d %d\n",k, a); 24 } 25 scanf("%d",&k); 26 return 0; 27 }
标签:++ 格式 one insert style class name closed names
原文地址:http://www.cnblogs.com/yijiull/p/7588052.html