题目链接
题意思路有 n 根棍子,求由其中 3 根棍子可以组成三角形的最大周长
坑点
- 根据数据范围 n<=100 判断
- 可以使用暴力枚举
- 判断组成三角形的充要条件(两边(较小边)之和大于第三边)
- 维护最大值
算法一:暴力枚举 时间复杂度
- 无
O ( n 3 ) O(n^3) O(n3)
实现步骤代码
- 按棍子长度从大到小排序
- 枚举三根不相同的棍子
- 判断是否能组成三角形
- 维护能组成三角形周长的最大值maxn
#include#define endl 'n' #define int long long using namespace std; const int N = 2e5+10; typedef long long ll; int num[N]; signed main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); int n; cin>>n; for(int i=0;i >num[i]; } sort(num,num+n); int maxn=-1; for(int i=0;i =num[k]) { maxn=max(maxn,num[i]+num[j]+num[k]); } } } } if(maxn==-1) { cout<<0< 总结 暴力枚举水题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)