题意:本题为日常找规律题,找出n凸边形与k个点之间的关系即可。
理解:当n=3(三角形),k=1,有3个小三角
当n=3(三角形),k=2,有5个小三角
当n=3(三角形),k=42,有85个小三角
规律:2n+1
当n=4(四边形),k=1,有4个小三角
当n=4(四边形),k=2,有6个小三角
当n=4(四边形),k=10,有22个小三角
规律:2n+2
由此可知,n与k的规律为 2*k+(n-2)
Description
给定一个有N个顶点的凸多边形,内有K个点,这N+K个点不会有三点共线,可以选择两个点连一条线段,但是线段只能在内部的点相交,问最多能连出多少个三角形。
Input
第一行T(T≤100)为测试用例个数。
然后下面的T行,每行两个数N(3≤N≤10000)和K(1≤K≤10000)
Output
每个测试用例输出一行,最多连多少三角形
Sample Input
3
3 1
3 2
3 42
Sample Output
3
5
85
#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <
string>
#include <cstring>
#include <queue>
using namespace std;
int main()
{
int t, n, k, sum;
scanf("%d", &
t);
while(t--
)
{
scanf("%d%d", &n, &
k);
sum =
2*k+(n-
2);
printf("%d\n", sum);
}
return 0;
}
转载于:https://www.cnblogs.com/RootVount/p/10356838.html
相关资源:JAVA上百实例源码以及开源项目