CF559A 三角形找规律

CF559A Gerald’s Hexagon
题意:给出了六边形的六条边,六条边长短不一,六条边又多个边长为1的单位正三角形组成,求单位正三角形的个数
分析:把六边形补上一些边让它变成一个大的正三角形,边长为len,那它的单位三角形就有len^2个,然后再减去补上的三角形行了,任意画一个满足题意的六边形,延长第一、三、五条边形成一个大的正三角,那么len=a[1]+a[2]+a[6],补的三个小三角形边长分别为a[2]、len-a[2]-a[3]、len-a[1]-a[2],减去就行了

#include<cstdio>
int main(){
    int a[10],len,sum;
    for(int i=1;i<=6;i++)
        scanf("%d",&a[i]);
    len=a[1]+a[2]+a[6];
    sum=len*len-a[2]*a[2]-(len-a[2]-a[3])*(len-a[2]-a[3])-(len-a[1]-a[2])*(len-a[1]-a[2]);
    printf("%d\n",sum);
    return 0;
}

你可能感兴趣的:(CF559A 三角形找规律)