看了题解才推出来的公式,其实一开始有想法了,并且想法和它的一样,但是画图画错了,给我的教训是画图一定要细心啊!!!
最后还是wa到死,看了别人的代码才发现不能%I64d输出,改成cout就好了,虽然不明白其中的原理
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int main(){
long long re[10005];
re[1]=2;
re[2]=7;
for(int i=3;i<=10005;i++){
re[i]=re[i-1]+4*(i-1)+1;
}
int C;
scanf("%d",&C);
while(C--){
int n;
scanf("%d",&n);
cout<<re[n]<<endl;
//printf("%I64d\n",re[n]);
}
return 0;
}