题意
立体 N N N子棋,输入 N N N,输出有多少种摆法使 n n n个子连成一线
样例
输入
2
输出
28
思路
把线延长,并穿透原本的线,然后每条多了2也就是
n
+
2
n+2
n+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
(
n
3
)
n* n *n(n^3)
n∗n∗n(n3)再除以2。
公式如下:
a n s ans ans= ( ( n + 2 ) 3 − n 3 ) / 2 ((n+2)^3-n^3)/2 ((n+2)3−n3)/2
代码
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
freopen("tictac.in","r",stdin);
freopen("tictac.out","w",stdout);
int n;
scanf("%d",&n);
printf("%d",((n+2)*(n+2)*(n+2)-n*n*n)/2);
}