立体井字棋
题目大意
在nnn的立方体中放n个子,有
求多少种布子方案可以使这n个子连成一条线。
样例输入
2
样例输出
28
数据范围
对于30%的数据, n<=10;
对于100%的数据, n <= 1000。
思路
这道题就是一道用公式做的题。
把线延长,并穿透原本的线,然后每条多了2也就是n+2n+2n+2,因为他是立体的,所以是((n+2)∗(n+2)∗(n+2))=((n+2)3)((n+2)∗(n+2)∗(n+2))=((n+2)3)((n+2)∗(n+2)∗(n+2))=((n+2)3),再减去n∗n∗n(n3)n∗n∗n(n^3)n∗n∗n(n3)再除以2。
那么公式就是:((n+2)3−n3)/2((n+2)^3-n^3)/2((n+2)3−n3)/2
代码
#include<cstdio>
using namespace std;
int n;
int main()
{
//freopen("tictac.in","r",stdin);
//freopen("tictac.out","w",stdout);
scanf("%d",&n);//读入
printf("%d",((n+2)*(n+2)*(n+2)-n*n*n)/2);//公式
fclose(stdin);
fclose(stdout);
return 0;
}