链接:https://ac.nowcoder.com/acm/contest/8827/B
来源:牛客网
题目描述
There are a box of apples,which contains N apples. You’re going to give them to M person. It is required that everyone must be given a positive integer apple, and no one must have the same amount. If it can be done, output “possible”; otherwise output “impossible”.
输入描述:
The first line contains a positive integerT(1≤T≤5)- the number of test cases.
In each of the following T lines there are two positive integers N,M.(1≤N≤1000000, 1≤M≤1000).
输出描述:
For each test case output a line. If it can be done, output “possible”; otherwise output “impossible”.
示例1
输入
复制
3
9 3
12 1
9 4
输出
复制
possible
possible
impossible
题意 : 把 n
个苹果分给m
个人, 要求每个人得到的数量不同, 可以做到输出possible
,否则输出impossible
。
- 考虑最合理的分配方式为
sum = 1+2+3+...+m
- 当
n >= sum
都可以满足要求 - 公式 : ∑ i = 1 N i = N ∗ ( N + 1 ) 2 \sum_{i=1}^{N}{i} = \frac{N*(N+1)}{2} ∑i=1Ni=2N∗(N+1)
read(Q);
while(Q--) {
read(n, m);
int sum = m * (m+1) / 2;
printf("%s\n", n >= sum ? "possible" : "impossible");
}