// Codeforces Round #313 (Div. 2) C Gerald's Hexagon
// 计数
// 关键是平行于a1的长度为1的有多少条,中间的这些*2,再加上a1
// 和a4,就是三角形的总和
// 还是挺简单的,注意递增的初始值,和变化,就ac了
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
using namespace std;
int a[8];
int flag;
void input(){
for (int i=2;i<=6;i++){
cin >> a[i];
}
}
int add(int l,int r,int t){
if (l<r)
swap(l,r);
int x = 0;
for (int i=1;i<=r;i++){
x+= i+t;
}
x += (r+t) * (l - r);
//cout << "x = " << x << endl;
return x*2;
}
void solve(){
flag = 0;
int x = min(a[3],a[5]);
int sum = a[1] + a[4];
sum += add(a[2],a[6],a[1]);
sum += add(x,x,a[4]);
sum -= (x+a[4])*2;
cout << sum << endl;
}
int main(){
//freopen("1.txt","r",stdin);
while(cin >> a[1]){
input();
solve();
}
}
Codeforces Round #313 (Div. 2) C Gerald's Hexagon 计数
最新推荐文章于 2025-08-01 11:12:48 发布
本文详细解析了Codeforces Round #313 (Div.2) C题“Gerald's Hexagon”的解题思路,介绍了如何通过计算特定线段的数量来求得六边形内所有三角形的总数,附带清晰的C++实现代码。
794

被折叠的 条评论
为什么被折叠?



