题目链接:http://codeforces.com/problemset/problem/216/A
题意:有6边形地板,对边平行等长,给出边长a,b,c,求地板由多少瓷砖组成
规律见代码:
#include <iostream>
#include <cstdio>
using namespace std;
int a,b,c;
int main()
{scanf("%d%d%d",&a,&b,&c);if(b>c)swap(b,c); //对于a的临边b,c,b比c长int t1=a,tmp=a,ans; //tmp为当前行瓷砖个数初始值为a,for(int i=2;i<=b;i++) //接下来的b-1行,瓷砖个数每行加1{tmp++;t1+=tmp;}if(b==c) //如果b=c地板是对称的{ans=t1*2;ans-=tmp;}else{ans=t1*2; //计算对称部分for(int i=b+1;i<=c-1;i++) //否则每行瓷砖个数达到最大后,有几行这样的瓷砖ans+=tmp;}cout<<ans<<endl;return 0;
}