题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1220

问题描述

  Cowl擅长解决数学问题。 有一天,一位朋友问他这样一个问题:给你一个边长为N的立方体,它被与其侧面平行的平面切割成N * N * N个单位立方体。 两个单位立方体可能没有共同点或两个共同点或四个共同点。 你的工作是计算有多少对不超过两个公共点的单位立方体。处理到文件的结尾。

输入

  会有很多测试用例。 每个测试用例只会在一行中给出一个立方体的边长N. N是正整数(1 <= N <= 30)。

输出

   对于每个测试用例,您应该在一行中输出上面描述的对的数量。

示例输入 1    2    3

示例输出 0   16   297

暗示 :结果不会超过int类型。

解题思路:这是一道组合数学题。题目的意思就是有一个N*N*N的立方体,将其分成1*1*1的单位立方体,则任意两个立方体的交点(顶点)个数为0,1,2,4个,现在要求交点数小于等于2个的立方体对数有多少对。N*N*N的立方体可以分成N*N*N个单位立方体,而任选两个立方体组成的情况一共有C(N*N*N,2)对 (即:N^3*(N^3-1)/2对)。公共点为4的对数:一列有n-1对(n个小方块,相邻的两个为一对符合要求),一个面的共有 n^2列,选上面和左面,前面三个方向,同理可得,故总数为:3*n*n*(n-1)。所以不超过两个公共点的单位立方体的对数为N^3*(N^3-1)/2-3*n*n*(n-1)。

AC代码:

 #include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
cout<<(n*n*n*(n*n*n-)/-*n*n*(n-))<<endl;//推导公式
return ;
}

题解报告:hdu 1220 Cube的更多相关文章

  1. HDU 1220 Cube(数学,找规律)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1220 Cube Time Limit: 2000/1000 MS (Java/Others)    M ...

  2. 2018年暑假ACM个人训练题7 题解报告

    A:HDU 1060 Leftmost Digit(求N^N的第一位数字 log10的巧妙使用) B:(还需要研究一下.....) C:HDU 1071 The area(求三个点确定的抛物线的面积, ...

  3. 题解报告:hdu 1398 Square Coins(母函数或dp)

    Problem Description People in Silverland use square coins. Not only they have square shapes but also ...

  4. 题解报告:hdu 2069 Coin Change(暴力orDP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Problem Description Suppose there are 5 types of ...

  5. 题解报告:hdu 1028 Ignatius and the Princess III(母函数or计数DP)

    Problem Description "Well, it seems the first problem is too easy. I will let you know how fool ...

  6. hdu 1220 容斥

    http://acm.hdu.edu.cn/showproblem.php?pid=1220 Cube Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  7. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  8. hdu 4670 Cube number on a tree(点分治)

    Cube number on a tree Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/ ...

  9. cojs 强连通图计数1-2 题解报告

    OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...

随机推荐

  1. 【python】对象和面向对象

    类的定义 python支持多重继承,在类名后面的小括号中,可以列出多个类名,以逗号分割. __init__方法在类的实例创建后被立即调用,注意与c++中构造函数不一样,因为对象在调用__init__时 ...

  2. jquery 动态添加,降低input表单的方法

    html代码例如以下 <html> <tr><button style="margin-left:10px" class="add_fiel ...

  3. hdu 5087 Revenge of LIS II ( LIS ,第二长子序列)

    链接:hdu 5087 题意:求第二大的最长升序子序列 分析:这里的第二大指的是,全部的递增子序列的长度(包含相等的), 从大到小排序后.排在第二的长度 cid=546" style=&qu ...

  4. hdu 5303 Delicious Apples

    这道题贪心 背包 假设在走半圆之内能够装满,那么一定优于绕一圈回到起点.所以我们从中点将这个分开,那么对于每一个区间由于苹果数非常少,所以能够利用pos[x]数组记录每一个苹果所在的苹果树位置,然后将 ...

  5. mysql查看所有存储过程,函数,视图,触发器,表,分页

    查询数据库中的存储过程和函数 方法一: select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE' ...

  6. oracle--Windows不能在本地计算机启动OracleDBConsoleorcl .错误代码1

    安装完数据库后能够启动,重新启动电脑后,手动启动就会报错. 现象: Windows 不能在 本地计算机 启动 OracleDBConsoleorcl.有关很多其它信息.查阅系统事件日志.假设这是非 M ...

  7. python各进制、字节串间的转换

    >>> i = 13 >>> bin(i) '0b1101' >>> oct(i) '0o15' >>> hex(i) '0xd ...

  8. Java经常使用日期操作具体解释

    Date类型大多数时间分量计算方法已经被Calendar代替 Date经常用法setTime getTime() new Date();默认获取当前的时间 SimpleDateFormat用来格式化和 ...

  9. AJAX请求提交数据

    1,AJAX准备知识:JSON JSON指的是JavaScript对象表示方法(JavaScript Object Notation) JSON是轻量级的文本数据交换格式 JSON独立于语言 JSON ...

  10. 列表和元组的基本操作,for遍历,range

    1,list(增删改查):列表可以装大量数据,不限制数据的类型(int,str,bool, list,tuple,dict,set),表示方法用[  ],list和sttr有区别,list可以直接在原 ...