// 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 计数
时间: 2024-10-24 14:05:23