摆方块(贪心)P1087
描述
给你一个n*n的方格,每个方格里的数必须连续摆放如
1 2
4 3
,下图为不连续的,请输出从左上角到右下角的对角线上的最大和
1 2
3 4
输入
输入包含多组测试数据。
每一行包括一个数据n,表示n*n的方格(保证所有数据在2^64范围内且n>0)
输出
每行输出占一行,输出最大的对角线之和。
样例输入
1
2
3
样例输出
1
6
19
此题只要写出n为4和5时的情况然后找出规律即可
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 long long n; 7 while(cin>>n) 8 { 9 long long k=n*n; 10 long long sum=0; 11 12 for(int i=0; i<n-1; i++) 13 { 14 sum+=k; 15 k-=2; 16 } 17 k/=2; 18 sum+=k; 19 cout<<sum+1<<endl; 21 }