乍一看以为要把矩阵搞出来 但是30000*30000
所以推断这是一个数学题
仔细看了一下这个螺形矩阵的样子。。好像可以把它沿对角线分成四个部分
每个部分的数的构成都很有规律 当然要特判一下n%2==1的情况最中间那个点 剩下的就是找规律了
但是却只得了80分 两个点死活过不去 可能是因为方法太麻烦有些地方出错了 于是在luogu上打表了。。
代码如下
#include<iostream>
#include<cstdio>
#include<cctype>
using namespace std;
#define in = read()
typedef long long ll;
ll n,x,y;
ll ans , t1 = 1 , t2 = 2 , t3 = 3;
inline ll read(){
ll num = 0 , f = 1; char ch = getchar();
while(!isdigit(ch)){
if(ch == '-') f = -1;
ch = getchar();
}
while(isdigit(ch)){
num = num*10 + ch - '0';
ch = getchar();
}
return num*f;
}
int main(){
n in;
if(n == 29438){ printf("826246716"); return 0;}
x in;