2923 - 折纸(folding)

小猪上幼儿园的时候,报名参加了折纸兴趣小组。他表现出了极大的热情,折出了n件折纸作品。他的作品只有3种,分别是长方形、正方形和三角形。

<span style="color:#336699;font-family:'Times New Roman';font-size:18px;line-height:28px;background-color:#BBD8E9;">小猪很想知道他的n件折纸的周长之和。</span> 

<span style="color:#336699;font-family:'Times New Roman';font-size:18px;line-height:28px;background-color:#BBD8E9;"><img src="http://tk.hustoj.com:80//../file://c:/users/administrator.pc--20140627kms/appdata/roaming/360se6/User Data/temp/a.png" /><img src="http://tk.hustoj.com:80//../file://c:/users/administrator.pc--20140627kms/appdata/roaming/360se6/User Data/temp/a.png" /><img src="http://tk.hustoj.com:80/attached/image/20140715/20140715203324_87318.png" alt="" /><br />

<span style="color:#336699;font-family:'Times New Roman';font-size:18px;line-height:28px;background-color:#BBD8E9;"><br />

题目输入

第一行只有一个整数n,表示共有n件作品。 1≤n≤100000,所有边长为不超过100000的正整数。
接下来n行,每行有若干个以空格分隔的整数,表示一件作品的情况。其中第一个整数k(k=1或2或3),表示小猪制作的这件作品的类型,1表示长方形,2表示正方形,3表示三角形。
如果k为1,后面会跟二个正整数a和b,表示长方形的二条相邻边的长度分别为a和b;
如果k为2,后面会跟一个正整数a,表示正方形的四条边的长度均为a。
如果k为3,后面会跟三个正整数a、b和c,表示三角形三条边的长度分别为a、b和c(输入数据保证a,b,c能构成三角形,不需验证)。

题目输出

仅有一行,该行只有一个整数,表示所有作品的周长之和。

输入/输出样例

题目输入

3
1 2 3
2 4
3 6 7 8

题目输出

47

C++解答

#include<bits/stdc++.h>
using namespace std;
long long n,k,t;
int main()
{
    cin>>n;
    while(n--)
    {
    	long long a=0,b=0,c=0;
    	cin>>k;
    	if(k==1)cin>>a>>b,t+=(a+b)*2;
    	if(k==2)cin>>a,t+=a*4;
    	if(k==3)cin>>a>>b>>c,t+=a+b+c;
	}
	cout<<t;
    return 0;
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题