10月5日 正方形
题目
1177.正方形
时间限制:1000MS内存限制:64000KB
题目描述
又到暑假啦,Conan, Ayumi, Mitsuhiko, Genta一起到Hakase家愉快玩耍(然而你却不行……)。
Ayumi, Mitsuhiko, Genta依次开始画正方形(显然Ai是不会参加这个活动的),一人一笔,画完一个,以上一个正方形四边中点为顶点接着画啊画啊画啊……最后一共画了k个正方形。最终他们想知道自己各画了多长。
【样例解释】
Ayumi, Mitsuhiko, Genta依次开始画正方形(显然Ai是不会参加这个活动的),一人一笔,画完一个,以上一个正方形四边中点为顶点接着画啊画啊画啊……最后一共画了k个正方形。最终他们想知道自己各画了多长。
【样例解释】
输入
输入一行包含两个整数N,K,分别表示第一个正方形的边长,正方形个数。
输出
输出一行,三个实数,分别表示Ayumi, Mitsuhiko, Genta画的长度,答案保留3位小数。
输入样例复制
100 2
输出样例复制
270.711 241.421 170.711
说明
【数据规模与约定】 对于100%的数据满足,。
、
分析
规律题。。。
每人在每个正方形内都会至少做一次
然后多做的一次用规律
第一个 1
第二个 2
。。。。
代码
1 #include<bits/stdc++.h>
2 using namespace std;
3 double a[10];
4 int main ()
5 {
6 int k,n;
7 cin>>k>>n;
8 double kk=k;
9 int t=1;
10 for (int i=1;i<=n;i++)
11 {
12 if (t%4==0)
13 t=1;
14 if (i==1)
15 {
16 a[1]+=kk;
17 a[2]+=kk;
18 a[3]+=kk;
19 a[t]+=kk;
20 kk/=2;
21 t++;
22 continue;
23 }
24 else
25 {
26 a[1]+=sqrt((kk*kk)+(kk*kk));
27 a[2]+=sqrt((kk*kk)+(kk*kk));
28 a[3]+=sqrt((kk*kk)+(kk*kk));
29 a[t]+=sqrt((kk*kk)+(kk*kk));
30 }
31 t++;
32 kk=sqrt((kk*kk)+(kk*kk))/2;
33 }
34 printf("%.3f %.3f %.3f",a[1],a[2],a[3]);
35 }
为何要逼自己长大,去闯不该闯的荒唐