hdu 1220 Cube
2011-11-26 17:02
309 查看
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1220
找规律题。。。
关键是求出4个相同顶点的个数,首先容易推出 所有顶点数s(n)=(n-1) + (n-2) ....+1 = > (n-1)*n/2 其中的n为 单位正的个数。
第二部求4个相同顶点 的个数可以分成两部分求出。。。第一部分求出n个部分上下之间的4个相同顶点的个数。这个也容易找到 t1(n)=(n-1)*(n*n) //这里的n为题目中的边长
第二部分同样也被分成了n块。那么 t2(n)=n*x //x为每块正方形4个相同顶点的个数, 然后就容易推出 x=2*n*(n-1)了。。。这样
合起来 所以
t(n)=(n-1)*(n*n)+n*2*n*(n-1); //4个相同顶点的个数
最后求差即可。
找规律题。。。
关键是求出4个相同顶点的个数,首先容易推出 所有顶点数s(n)=(n-1) + (n-2) ....+1 = > (n-1)*n/2 其中的n为 单位正的个数。
第二部求4个相同顶点 的个数可以分成两部分求出。。。第一部分求出n个部分上下之间的4个相同顶点的个数。这个也容易找到 t1(n)=(n-1)*(n*n) //这里的n为题目中的边长
第二部分同样也被分成了n块。那么 t2(n)=n*x //x为每块正方形4个相同顶点的个数, 然后就容易推出 x=2*n*(n-1)了。。。这样
合起来 所以
t(n)=(n-1)*(n*n)+n*2*n*(n-1); //4个相同顶点的个数
最后求差即可。
#include<iostream> using namespace std; int main() { int n; int sum,t,k; while(cin>>n) { k=n*n*n; sum=(k-1)*(k)/2; //总共有的个数 t=(n-1)*(n*n)+n*2*n*(n-1); //4个相同顶点的个数 printf("%d\n",sum-t); } return 0; }
相关文章推荐
- hdu 1220 Cube (组合数学)
- HDU 1220 Cube
- HDU 1220 cube
- HDU 1220 Cube (组合数学)
- HDU - 1220 Cube
- hdu1220 Cube
- HDU(1220)——Cube
- HDU 1220 Cube
- HDU1220 Cube
- HDU 1220 Cube
- hdu 1220 Cube
- hdu 1220 Cube
- hdu 1220 Cube 简单数论
- hdu 1220 Cube (数学)
- hdu 1220 Cube(规律+公式)
- HDU:1220 Cube(数学)
- HDU 1220 ( Cube )
- HDU 1220 B - Cube
- 杭电 1220 Cube(纯数学)
- hdu 1220(数学)