当前位置: 代码迷 >> 综合 >> CodeForces - 216A - Tiling with Hexagons(规律)
  详细解决方案

CodeForces - 216A - Tiling with Hexagons(规律)

热度:1   发布时间:2024-01-12 15:24:03.0

题目链接: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;
}