标签:ora badge etc image lin mic html fine bsp
【样例1说明】
在所有可能的情况中,只有C_2^1 = 2C21?=2是2的倍数。
【子任务】
#include<bits/stdc++.h>
#define N 2001
#define ll long long
using namespace std;
ll n,m,t,k,ans,cnt;
ll C[N+5][N+5],sum[N+5][N+5],a[N+5][N+5];
inline ll read()
{
int x=0,f=1;char c=getchar();
while(c>‘9‘||c<‘0‘){if(c==‘-‘)f=-1;c=getchar();}
while(c>=‘0‘&&c<=‘9‘){x=x*10+c-‘0‘;c=getchar();}
return x*f;
}
void init()
{
for(int i=0;i<=N;i++) C[i][i]=C[i][0]=1;
for(int i=1;i<=N;i++) for(int j=1;j<i;j++)
{
C[i][j]=(C[i-1][j]+C[i-1][j-1])%k;
if(C[i][j]==0) a[i][j]++;
}
for(int i=1;i<=N;i++) for(int j=1;j<=N;j++)
sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+a[i][j];
}
int main()
{
t=read();k=read();
init();
while(t--)
{
n=read();m=read();
printf("%lld\n",sum[n][m]);
}
return 0;
}
标签:ora badge etc image lin mic html fine bsp
原文地址:https://www.cnblogs.com/L-Memory/p/9918229.html