728x90
반응형
https://www.acmicpc.net/problem/2622
2622번: 삼각형만들기
같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거
www.acmicpc.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <math.h>
int n;
int cnt = 0;
int main() {
scanf("%d", &n);
for (int a = 1; a < n; a++) {
for (int b = a; b < n; b++) {
int c = n - (b + a);
if (c < b) {
break;
}
if (a + b > c) {
cnt++;
}
}
}
printf("%d",cnt);
}
|
cs |
a는 항상 제일 작은 변 b가 그다음 c가 제일 큰변이라고 가정하고 시작한다.
삼각형 결정조건인 a+b>c 라는 것으로 삼각형의 개수를 판별해주고
무엇보다 b가 c보다 커지면 그때는 중복되는 것이므로
예를 들어 (1,3,5) (1,5,3)인 경우 전자와 후자는 합동이기에
break를 걸어준다. continue걸어주면 시간초과에 걸린다!
728x90
반응형
'C > 중간고사 대비 (2022 1학기)' 카테고리의 다른 글
[C 백준] 2153번 소수단어 (0) | 2022.04.11 |
---|---|
[C백준] 1834번 나머지와 몫이 같은 수 (0) | 2022.04.11 |
[C 백준] 2839번 설탕배달 (0) | 2022.04.08 |
[C 백준] 실버 5/ 2693 N번째 큰 수 (0) | 2022.04.08 |
[C 백준]실버 4/1940번 주몽 (0) | 2022.04.03 |
댓글