做网站时点击显示,深圳网络营销推广渠道,wordpress 图片加水印插件,昆山网站建设犀牛大叔立体井字棋
题目大意#xff1a;
在一个nnn的正方体中#xff0c;由n个格子连成一条直线的方案数#xff08;多少种可能用n个格子连成一条直线#xff09;
样例输入
2
样例输出
28
数据范围限制
对于30%的数据#xff0c; n10#xff1b;
对于100%的数据
在一个n×n×n的正方体中由n个格子连成一条直线的方案数多少种可能用n个格子连成一条直线
样例输入
2
样例输出
28
数据范围限制
对于30%的数据 n10
对于100%的数据 n 1000。
解题思路
这道题很显然是一道推理题他有两种方法我们先讲一下众多人使用的方法一
首先我们在这个方形外面围上一层正方形如下图因为长度两边都加了一多以大正方形的体积是(n2)3(n2)^{3}(n2)3而红色部分原来的正方形体积为n3n^{3}n3就可以求出外面围了(n2)3−n3(n2)^{3}-n^{3}(n2)3−n3个正方形然后运用两点确定一条直线的定理还有把符合题意的每一条线延长可以穿过外面的两个正方形可以得知符合题意的正方形个数为(n2)3−n32\frac{(n2)^{3}-n^{3}}{2}2(n2)3−n3 本蒟蒻使用的方法二
把全图的线的种类分为三种只有一个坐标的差异两个坐标的差异三个坐标的差异然后又可以细分第一种从正面左面上面各分成4个n×n个总共3×n×n个第二种从正面两个45度角侧面两个上面两个各有n个总共6n个第三种是四个斜对角就4个
总共3×n×n6n43×n×n6n43×n×n6n4个 #includecstdio
#includeiostream
using namespace std;
int n;
int main()
{scanf(%d,n);if (n1) printf(1);//特殊请款else printf(%d,n*n*3n*64);//直接输出return 0;
}