「PMOI-5」破译の论
Lithium_Chestnut · · 题解
每次分割将右下角的矩形分割为
那么
因为原有矩形为
由于计算过大,记得开 __int128,并且配上快读快输,还有取模
代码如下:
#include<bits/stdc++.h>
#define ll __int128
using namespace std;
ll n,k;
const int mod=998244353;
ll read()
{
int x=0,w=0;
char ch=0;
while(!isdigit(ch))
{
w|=ch=='-';
ch=getchar();
}
while(isdigit(ch))
{
x=(x<<3)+(x<<1)+(ch^48);
ch=getchar();
}
return w?-x:x;
}
void write(ll x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>9) write(x/10);
putchar(x%10+'0');
return;
}
int main()
{
n=read(),k=read();
write((n*n*k-k+1)%mod);
return 0;
}