首页 > 代码库 > Codeforces 559A Gerald's Hexagon 数三角形
Codeforces 559A Gerald's Hexagon 数三角形
题意:按顺序给出一个各内角均为120°的六边形的六条边长,求该六边形能分解成多少个边长为1的单位三角形。
把单位三角形面积看做1,实际上就是求六边形面积。随便找六边形的三条互相不相邻的边,分别以这三条边为基础向外扩展一个等边三角形。就可以将原六边形补成一个大等边三角形,然后用大等边三角形面积减去补上的3个小等边三角形面积就是原来六边形的面积。
而等边三角形面积非常easy。就是边长的平方(实际就是边长为n的等边三角形能分解成n^2个边长为1的单位三角形,画个图就能理解了)。
#include <cstdio> #include <iostream> #include <cstring> #include <string> #include <cmath> #include <algorithm> #include <stack> #include <vector> #include <map> #include <set> using namespace std; int a, b, c, d, e, f; int main() { while(scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f) != EOF) printf("%d\n", (a + b + c)*(a + b + c) - (a*a + c*c + e*e)); return 0; }
Codeforces 559A Gerald's Hexagon 数三角形
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。