이 영역을 누르면 첫 페이지로 이동
포렌식 & 개발 이야기 - Forensics & Development 블로그의 첫 페이지로 이동

포렌식 & 개발 이야기 - Forensics & Development

페이지 맨 위로 올라가기

포렌식 & 개발 이야기 - Forensics & Development

Pental - Forensics / iOS / Windows / Android / Kakaotalk / Telegram / Etc

[정올] 1060 : 최소비용신장트리

  • 2018.06.13 23:19
  • Programming/C
글 작성자: pental

1060 : 최소비용신장트리

제한시간: 1000 ms    메모리제한: 32 MB
해결횟수: 1501 회    시도횟수: 4157 회   



정보올림피아드 공부를 더욱 효율적으로 할 수 있도록 전국에 흩어져 있는 정올 학원들을 네트워크로 연결하려고 한다.그러나 모든 학원들을 네트워크로 연결하려면 너무 많은 비용이 필요하기 때문에 정올에서는 학원들을 연결하는 비용을 최소가 되게 하려고 한다. 학원들은연결되어 있는 다른 학원의 회선을 공유할 수 있다.

 

아래 그림과 같이 학원 사이를 연결하기 위한 비용이 주어지면 모든 학원을 연결하기 위한 최소의 비용을 구하는 프로그램을 작성하라.

 

efc6e5f9d670c6da62174cf11a66a8c2_1449722 

 

첫줄에 학원의 수 N(3≤N≤100)이 주어진다.둘째 줄부터 NxN의 행렬로 100,000이하의 정수가 공백으로 구분되어 입력된다. 행렬의 i j는 i번 학원에서 j번 학원을 연결하기 위한 비용을 나타낸다.



학원들을 모두 연결하기 위한 최소 비용을 출력한다.


5
0 5 10 8 7 
5 0 5 3 6 
10 5 0 1 3 
8 3 1 0 1 
7 6 3 1 0
10


출처 : jungol


[소스코드]


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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i,j;
    int n;
    int min;
    scanf("%d",&n);
    int **arr = NULL;
    arr = (int **)malloc(sizeof(int *)*n);
    for(i = 0; i <n; i++)
    {
        *(arr+i) = (int *)malloc(sizeof(int)*n);
    }
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
        {
            scanf("%d",&arr[i][j]);
        }
    }
    int count = n;
    int small;
    int sum = 0;
    int *result = (int *)malloc(sizeof(int)*n);
    for(i = 1; i < n; i++)
    {
        result[i]=arr[0][i];
    }
    result[0] = -1;
    while(count != 1)
    {
        min = 50;
        for(i = 1; i < n; i++)
        {
            if(result[i] > 0 && result[i] < min)
            {
                min = result[i];
                small = i;
            }
        }
         //i번째 정점의  최솟값이 되는 값
        sum += result[small];
         
        result[small] = -1;
         
        for(i = 1; i < n; i++)
        {
            if(result[i] > arr[i][small])
            {
                result[i] = arr[i][small];
            }
        }
        count--;
    }
    printf("%d",sum);
}
Colored by Color Scripter
cs


저작자표시

'Programming > C' 카테고리의 다른 글

[정올] 530 : 선택제어문 - 자가진단3  (0) 2019.11.21
[정올] 529 : 선택제어문 - 자가진단2  (0) 2019.11.21
[정올] 528 : 선택제어문 - 자가진단1  (0) 2019.11.21
[정올] 1106 : 정올  (0) 2018.06.13
[정올] 1331 : 문자마름모  (0) 2017.08.12

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [정올] 529 : 선택제어문 - 자가진단2

    [정올] 529 : 선택제어문 - 자가진단2

    2019.11.21
  • [정올] 528 : 선택제어문 - 자가진단1

    [정올] 528 : 선택제어문 - 자가진단1

    2019.11.21
  • [정올] 1106 : 정올

    [정올] 1106 : 정올

    2018.06.13
  • [정올] 1331 : 문자마름모

    [정올] 1331 : 문자마름모

    2017.08.12
다른 글 더 둘러보기

정보

포렌식 & 개발 이야기 - Forensics & Development 블로그의 첫 페이지로 이동

포렌식 & 개발 이야기 - Forensics & Development

  • 포렌식 & 개발 이야기 - Forensics & Development의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

카테고리

  • Category (436) N
    • Forensics (104) N
      • Magnet AXIOM (28)
      • Digital Forensics Informati.. (9)
      • Iphone Forensics (23) N
      • DFC (7)
      • 디지털포렌식전문가2급 자격증 (10)
      • FTK ACE 자격증 (7)
    • 이것저것 (7) N
      • Ubuntu (6)
      • 디스코드 봇 (4)
      • Volatility GUI (2)
    • CTF (32)
      • NEWSECU (14)
      • CTF-d (5)
      • Puzzel - Network Forensics (2)
      • Security Traps (2)
      • system32.kr (5)
      • HMCTF (4)
    • Programming (245) N
      • C (10)
      • Python (11)
      • 백준 (191) N
      • 프로그래머스 (32)
    • 그냥 개발 및 잡담 (16)
      • Docker (2)
      • Google Cloud (3)
      • OS 개발 (3)
    • Best of Best (20)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 포렌식
  • 파이썬
  • 디지털포렌식
  • Forensics
  • 프로그래머스
  • axiom
  • pental
  • 백준
  • 전체 보기…

정보

pental의 포렌식 & 개발 이야기 - Forensics & Development

포렌식 & 개발 이야기 - Forensics & Development

pental

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © pental.

티스토리툴바