Notice
Recent Posts
Recent Comments
:: ADVANCE ::
[dovelet][수학] 삼각형 만들기 / triangle1 본문
반응형
dovelet 29 단계 수학
http://59.23.113.171/30stair/triangle1/triangle1.php?pname=triangle1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 |
#include <stdio.h>
long long check[51000];
int main(void)
{
int n, cnt = 0;
scanf("%d", &n);
int a, b, c;
for (a = 1; a <= n / 3; a++) {
for (b = a; (b <= n / 2) && b <= (n - a - b); b++) {
c = n - a - b;
if (a + b > c) {
cnt++;
}
}
}
printf("%d\n", cnt);
return 0;
} |
cs |
처음에 일단 모든 경우를 만들고 그안에서 조건을 걸어서 맞는 경우만 세도록 하였는데
그 방식은 당연하게도 time limit에 걸렸다.
그래서 종이에 하나하나 삼각형이 만들어지는 수를 적으면서 애초에 중복되는 경우를
없애도록 반복문의 범위를 줄여 time 성능을 늘림
a를 세 변 중 가장 짧은 변으로 잡았기 때문에 1부터 n / 3까지 반복하였다.
그 후 b는 가장 짧은 변이 아니기 때문에 a와 같거나 큰 수로 가정하였고
또한 가장 큰 변을 c로 잡았기 때문에 b는 c에 해당하는 값보다 작도록 하여 반복하였다.
반응형
'Algorithm > math' 카테고리의 다른 글
[BaekJoon][1850] 최대공약수 (0) | 2016.05.24 |
---|---|
[수학][GCD LCM] 최대공약수와 최소공배수 (0) | 2016.05.24 |
[수학][mod] % 나머지 연산자 (0) | 2016.05.24 |
[dovelet][For] gcd_lcm (0) | 2015.01.18 |
[dovelet][수학] 술 취한 간수 / jailer (0) | 2015.01.14 |
Comments