DZY Loves Partition

#include"bits/stdc++.h"
#define ll long long
using namespace std;
const ll inf = 1e9+7;
ll t,n,m;
int main()
{
	cin >> t;
	while(t--)
	{
		cin >> n >> m;
		ll k = (1+m)*m/2;
		if(k > n) cout << "-1" << endl;
		else{
			n-=k;
			ll ans = 1;
			ll p = n/m;
			ll s = n%m;
			int i;
			for(i = 1;i <= m-s ; i ++){
				ans =(ans*(i+p))%inf;
			}
			for( ; i<=m;i++){
				ans = (ans*(i+p+1))%inf;
			}
			cout << ans << endl;
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_53013914/article/details/120876219