立体井字棋  
 题目大意:  
 在一个n×n×n的正方体中,由n个格子连成一条直线的方案数(多少种可能用n个格子连成一条直线)  
 样例输入  
 2  
 样例输出  
 28  
 数据范围限制  
 对于30%的数据, n<=10;  
 对于100%的数据, n <= 1000。  
 解题思路:  
 这道题很显然是一道推理题,他有两种方法,我们先讲一下众多人使用的方法一:  
 首先我们在这个方形外面围上一层正方形(如下图),因为长度两边都加了一,多以大正方形的体积是(n+2)3(n+2)^{3} ( n + 2 ) 3  ,而红色部分,原来的正方形体积为n3n^{3} n 3  ,就可以求出外面围了(n+2)3−n3(n+2)^{3}-n^{3} ( n + 2 ) 3 − n 3  个正方形,然后运用两点确定一条直线的定理,还有把符合题意的每一条线延长可以穿过外面的两个正方形,可以得知符合题意的正方形个数为(n+2)3−n32\frac{(n+2)^{3}-n^{3}}{2} 2 ( n + 2 ) 3 − n 3    
 
 本蒟蒻使用的方法二:  
 把全图的线的种类分为三种(只有一个坐标的差异,两个坐标的差异,三个坐标的差异),然后又可以细分:第一种:从正面,左面,上面各分成4个(n×n个),总共3×n×n个,第二种:从正面两个45度角,侧面两个,上面两个各有n个,总共6n个,第三种:是四个斜对角,就4个  
 总共3×n×n+6n+43×n×n+6n+4 3 × n × n + 6 n + 4  个  
 
#include <cstdio>  
#include <iostream>  
using  namespace  std; 
int  n; 
int  main ( ) 
{ scanf ( "%d" , & n) ; if  ( n== 1 )  printf ( "1" ) ; else  printf ( "%d" , n* n* 3 + n* 6 + 4 ) ; return  0 ; 
}