AtCoder Beginner Contest 175 比赛人数8820
AtCoder Beginner Contest 175 B Making Triangle 构造三角形
总目录详见https://blog.youkuaiyun.com/mrcrack/article/details/104454762
在线测评地址https://atcoder.jp/contests/abc175/tasks/abc175_b
题目大意:给出一堆数,从中选出三个互不相等的数,构造三角形,问能构造多少个三角形。
基本思路:题意看起来,挺吓人,但看了数据范围N<=100,就挺简单的,枚举三条边,判定是否互不相等,是否两边之和大于第三边,若没有问题,该种情况参与数量统计。
AC代码如下:
#include <stdio.h>
int a[110];
int main(){
int n,i,j,k,cnt=0;
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d",&a[i]);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
for(k=j+1;k<=n;k++)
if(a[i]!=a[j]&&a[i]!=a[k]&&a[j]!=a[k]&&a[i]+a[j]>a[k]&&a[i]+a[k]>a[j]&&a[j]+a[k]>a[i])cnt++;//判定是否互不相等,是否两边之和大于第三边
printf("%d\n",cnt);
return 0;
}