HDU1220
来源:互联网 发布:全民挂机 源码 编辑:程序博客网 时间:2024/05/20 01:09
N*N*N的正方体分割成N*N*N个单元正方体,两个单元正方体之间可能共享0个、1个、2个、4个点,问有多少对正方体满足共享点的个数<=2
做法:遍历每个单元正方体,开始时,我们认为它和N*N*N个都满足共享点数<=2,再减去不满足的:①减去已经遍历过(包括当前)的正方体的个数,已经遍历过的正方体包含哪些情况呢?由于遍历时,x、y、z都是从小到大,所以当前位置的左、上、后正方体算在里面。除此之外还包含了已遍历的正方体与当前正方体能构成共享点的个数<=2的对数,视为重复。
②减去当前位置的右,下,前正方体,如果存在的话。
至此,代码如下:
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>#include<vector>#include<map>#include<queue>#include<set>using namespace std;int N,ans;int solve(){ans = 0;for(int x = 0; x < N; x++){for(int y = 0; y < N; y++){for(int z = 0; z < N; z++){ans += N * N * N;ans -= (x*N*N + y*N +(z+1));if(x + 1 != N) ans--;if(y + 1 != N) ans--;if(z + 1 != N) ans--;}}}}int main(){while(~scanf("%d",&N)){solve();printf("%d\n",ans);}return 0;}
阅读全文
1 0
- HDU1220
- hdu1220
- HDU1220
- HDU1220 Cube
- hdu1220 Cube
- HDU1220--Cube HDU(93)
- 【数学.前左上计数法】【HDU1220】Cube
- hdu1220组合数学,求公共点小于2的面数对
- 解决如何去掉手机版HTML页面滚动条
- oracle 日期格式
- js算法--生成随机码
- 元胞数组的换行多次写入文档
- 一个css特效
- HDU1220
- python 如何使用 protobuf
- csu-1216: 异或最大值
- tomcat日志报错Could not find or load main class org.apache.catalina.startup.Bootstrap
- 线程同步:CRITICAL_SECTION, Mutex , Event
- HDU 1176 免费馅饼
- 数据库中截取字符串的简单方法
- this与Thread.currentThread
- 关于双向回呼系统