1、思路
-
当环形结构中只有一座山峰时,可见山峰对数量为
0
。当有两座时,可见山峰对数量为1
。当有三座时可见山峰对数量为3
。可以推导得出当有n
座山峰时,可见山峰对数量为2 * n - 3
; -
假设环形结构中有
n
座山峰,除了最高山峰和次高山峰外还剩下n - 2
座山峰,这n - 2
座山峰中每一座都能根据小找大
的方式找到两对,所以一共有(i - 2) * 2
对,再加上最高山峰和次高山峰这对,一共就有2 * n - 3
对。
2、代码
#include <iostream>
using namespace std;
int main()
{
int T;
cin >> T;
while (T -- )
{
int n, p, m;
cin >> n >> p >> m;
cout << max(2 * n - 3, 0) << endl;
}
return 0;
}