SDNU 1302.凸多边形
题意:本题为日常找规律题,找出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; }