Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 완전탐색
- Baekjoon
- Network Flow
- maximum flow
- SWTest
- ICPC
- 알고리즘
- 네트워크 플로우
- JOIN
- SQL
- 최대 유량
- 백준
- 분할정복
- 코딩테스트
- INNER JOIN
- 후기
- backjoon
- 프로그래머스
- 빅스비 스튜디오
- 이분탐색
- 빅스비
- DP
- 최대유량
- SWEA
- BOJ
- 메모이제이션
- 삼성
- SDS 알고특강
- 세그먼트트리
- bixby studio
Archives
- Today
- Total
답은 알고리즘 뿐이야!
[SWEA 1259] 금속 막대 본문
문제 출저 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18NaZqIt8CFAZN
풀이 :
DP문제라고 해서 보긴 했는데 DP로 푸는방법이 떠오르진 않네요 ㅠㅠ
혹시 DP로 푸신분있으면 가르쳐 주시면 감사하겠습니다...
너무 야매로 푼거같아서 어떤 알고리즘으로 풀었다고 해야 할 지 모르겠네요...
일단 이 문제는 수나사와 암나사의 사이즈를 맞춰서 최대로 연결하는 문제입니다.
문제의 조건이 너무 불충분해서 제가 테스트 케이스로만 분석하여
수나사와 암나사의 최대 크기는 30, 금속 막대의 개수는 20개로 놓고 풀었습니다.
그다음 마찬가지로 조건이 너무 불충분 하여 두가지 가정을 하였습니다.
가정 1) 모든 나사는 짝이 있다.
가정 2) 암나사나 수나사의 크기가 같은 금속 막대는 없다.
이러한 가정을 바탕으로 저는 크기가 30인 check 배열을 선언해 수나사는 ++, 암나사는 --를 해주었습니다.
이렇게 했을 시 좋은 점은 짝이 있는 나사들은 배열의 값이 0이 되고 맨 앞의 수나사는 1, 맨 뒤의 암나사는 -1이 되기 때문에 시작과 끝 점을 찾는 과정을 진행할 필요가 없어집니다.
따라서 모든 막대에 대해 위의 풀이를 적용하고 맨 앞의 수나사부터 맨 뒤의 암나사 까지 출력을 하면 끝입니다.
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
35
36
|
#include<stdio.h>
int t, n,cache[31],check[31],front,rear;
int main()
{
scanf("%d", &t);
for (int test = 1; test <= t; test++)
{
printf("#%d ", test);
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d %d", &front, &rear);
cache[front] = rear;
check[front]++;
check[rear]--;
}
for (int i = 1; i <= 30; i++)
{
if (check[i] == 1)front = i;
if (check[i] == -1)rear = i;
check[i] = 0;
}
while (1)
{
printf("%d %d ", front, cache[front]);
front = cache[front];
if (front == rear)
{
printf("\n");
break;
}
}
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA 1260] 화학물질 2 (0) | 2019.07.31 |
---|
Comments