您的位置:首页 > 其它

PROBLEM_B: URAL 2025 B - Line Fighting

2015-08-02 10:53 351 查看
/*PROBLEM B: LINE FIGHTING "SOLVED" */
#include "cstdio"
#include "cstring"
#include "cctype"
#include "algorithm"
using namespace std;
#define Inc(i, a, b) for(int i = a; i < b; i++)
#define Dec(i, a, b) for(int i = a; i > b; i--)
#define Mem(a) memset(a, 0, sizeof(a))
#define Pii pair<int, int>
#define Cin scanf
#define Put printf
#define CIN(a) scanf("%d", &a)
#define CII(a, b) scanf("%d%d", &a, &b)
#define CIS(a) scanf("%s", a)
#define PII(a, b) printf("%d %d\n", a, b)
#define ll long long
#define maxn 100005
int n, k;
ll C(int a, int b) {
if(a < b) return 0;
ll ret = 1;
b = min(b, a - b);
Inc(i, 0, b) ret *= (ll)(a - i), ret /= (ll)(i + 1);
return ret;
}
void solve() {
int en = n, ek = k;
ll mt = n / k;
ll et = n % k;
if(!et) Put("%lld\n", C(k, 2) * mt * mt);
else Put("%lld\n", C(k - et, 2) * mt * mt + C(et, 2) * (mt + 1) * (mt + 1) + et * (k - et) * mt * (mt + 1));
}
int main() {
int cas;
CIN(cas);
while(cas--) {
CII(n, k);
solve();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: