Problem Description
Yu Ji is very annoying because he always ask others to guess his boring riddles. He will find different guys to guess his riddle for everyday. Unfortunately, he finds you to take this boring job today. Here comes his riddle:
"Suppose there is a convex polygon with N vertexes, and K points inside the polygon, satifying that no 3 points among these N+K ones are collinear. Then I add some segments connecting these points, such that the segments intersect each other only at these points and the polygon is divided into triangles. Do you know how many triangles there are after doing that? Guess it!"
Is it very boring? Absolutely! However, you still have figure it out. Why? Let me tell you a story. Long Long age, there was a kid. One day , he was asked to guess a riddle by Yu Ji. He was not able to guess the answer. The next day, he died. His name is: Sun Ce.
"Suppose there is a convex polygon with N vertexes, and K points inside the polygon, satifying that no 3 points among these N+K ones are collinear. Then I add some segments connecting these points, such that the segments intersect each other only at these points and the polygon is divided into triangles. Do you know how many triangles there are after doing that? Guess it!"
Is it very boring? Absolutely! However, you still have figure it out. Why? Let me tell you a story. Long Long age, there was a kid. One day , he was asked to guess a riddle by Yu Ji. He was not able to guess the answer. The next day, he died. His name is: Sun Ce.
Input
On the first line of input, there is a single positive integer T(T<=100) specifying the number of test cases followed.
for each test case, there are two positive integer N(3<=N<=10000) and K(1<=K<=10000) in a line.
for each test case, there are two positive integer N(3<=N<=10000) and K(1<=K<=10000) in a line.
Output
You should output an integer indicating the number of triangles in a line for each test case.
Sample Input
1
4 1
Sample Output
4
Author
代码:
#include<stdio.h>
int main()
{
int n,k,i,t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&k);
printf("%d\n",n+2*(k-1));// 规律
}
return 0;
}
<pre name="code" class="cpp">/* 三边形 1 3 四边形 1 4 五边形 1 5
2 5 2 6 2 7
3 7 3 8 3 9
... ... ...
k 3+2*(k-1) k 4+2*(k-1) k 5+2*(k-1)
所以最后的公式是 n+2*(k-1)
*/