CodeForces 216A Tiling with Hexagons

原创 2013年12月02日 00:06:12

题目链接:点击打开链接

已知大六边形的三边a,b,c。它的六条边边长分别是a,b,c,a,b,c。

问其中能摆多少个小六边形。


诶,居然就是把它分块,看成规则的平行四边形,然后加加减减。

最后推出公式:

res=ab+bc+ca-a-b-c+1


比赛的时候实在是WA到不行,也不知道自己想的方向对不对,也可以说

自己不清楚这种题大致思考的方向在哪。。规律该怎么找。

所以就只好一排排的加,最后得出结果。


据说还有思考方式不同得出的等价公式:res = abc - (a - 1)(b - 1)(c - 1)。但是不知道是abc和(a-1)(b-1)(c-1)

分别表示什么。。。诶。。。


比赛的时候的AC代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cctype>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#define INF 0x3f3f3f3f

using namespace std;

int main()
{
    int a,b,c,ans,x;
    while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    {
        ans=0,x=a-1;
        for(int i=1;i<=b;i++)
        {
            if(i<=c) x++;
            ans+=x;
        }
        x=a-1;
        for(int i=1;i<c;i++)
        {
            if(i<=b)
                x++;
            ans+=x;
        }
        printf("%d\n",ans);
    }
    return 0;
}

用公式:

#include<cstdio>
#include<iostream>
using namespace std;

int main()
{
    int a,b,c;
    while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    {
        int ans=a*b+b*c+c*a-a-b-c+1;
        printf("%d\n",ans);
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CF 216A - Tiling with Hexagons

题目地址: http://www.codeforces.com/problemset/problem/216/A   方法一:     YY的写法,转化成水平相互对齐的图形去做即可。。。  ...

CODEFORCES630D-Hexagons!

Hexagons! Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit...

【38.46%】【codeforces 615E】Hexagons

time limit per test 1 second memory limit per test 256 megabytes input standard input output ...

Codeforces Round #338 (Div. 2) E. Hexagons 找规律

题意:按题目给出的搜索方式给出第n个点的坐标。思路:首先确定第n个点在哪一层?第k层有6k个点,所以前k层总共有3*k*(k+1)个点。二分找出n在哪一层之后。就可以把这一层分成6块,找出n在一块中,...

sicily Tiling a Grid With Dominoes

题意: 问一个 L*4 的矩形,用2*1的小矩形组成有多少种组法。思路: 递推。用一个4bit的整数表示“行状态”。写出15个递推式即可。首先,定义 f [ i ] [ j ] 为, 已组成长度 ...

HDU-1992-Tiling a Grid With Dominoes-4列n行的骨牌-轮廓线DP

题意:在n*4的矩阵里,填满1*2的骨牌,有多少种可能性,我想的方向是4列n行 思路:分为三种情况。1.当前列上一行把这一行给占有了,当前行不能再放。 2.当前列上一行没有把这一行给占用,肯定可以竖这...

zoj zju 2994 Tiling a Grid With Dominoes 状压dp

题意,4*w的矩形放满1*2的矩形可以有多少种放法 从左往右状压dp。状态中的1表示横着放,且要占用该行下一列一格。0表示这个状态正好放满这列。

hdu 1992-Tiling a Grid With Dominoes

Tiling a Grid With Dominoes                                   &#...

HDU 1992 Tiling a Grid With Dominoes (状压dp)

Tiling a Grid With Dominoes Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (J...

HDU 1992 Tiling a Grid With Dominoes (状压 dp)

Problem Description We wish to tile a grid 4 units high and N units long with rectangles (dominoes)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)