全く持って忘れてましたよね。。
参考
a,b,cの三辺の三角形の場合、
a < b + c, b < a + c, c < a + b
が成立していればOK。
かつ、もしaの辺が一番長いとわかっている場合は、a < b + c
のみ確認を行えばいいらしい。
問題
提出したコードは下記のような感じで全部の条件を調べ倒しましたが、
Integer
型でArrayを作成し、Arrays.sort(l, Collections.reverseOrder())
を行って
最初のindexだけ三角形の成立条件に当てはめればかっこいいですね。
int cnt = 0; for(int i=0; i<n; i++) { for(int j=i; j<n; j++) { if(l[i] == l[j]) continue; for(int k=j; k<n; k++) { if((l[i] != l[k] && l[j] != l[k]) && l[i] < l[j] + l[k] && l[j] < l[i] + l[k] && l[k] < l[i] + l[j]) { cnt++; //System.out.println("i: " + l[i] + " j: " + l[j] + " k: " + l[k]); } } } }