서강대학교공과대학컴퓨터공학과 (1/5) CSE3081 (2 반 ): 알고리즘설계와분석 < 프로그래밍숙제 2> (v_1.0) 담당교수 : 임인성 2015 년 10 월 13 일 마감 : 10 월 31 일토요일오후 8 시정각 제출물, 제출방법, LATE 처리방법등 : 조교가

Similar documents
Line (A) å j a k= i k #define max(a, b) (((a) >= (b))? (a) : (b)) long MaxSubseqSum0(int A[], unsigned Left, unsigned Right) { int Center, i; long Max

설계란 무엇인가?

강의 개요

금오공대 컴퓨터공학전공 강의자료

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

chap 5: Trees

금오공대 컴퓨터공학전공 강의자료

강의 개요

Microsoft PowerPoint - Java7.pptx

BMP 파일 처리

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - 26.pptx

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

PowerPoint 프레젠테이션

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

MySQL-.. 1

chap x: G입력

PowerPoint Presentation

설계란 무엇인가?

윈도우시스템프로그래밍

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

윈도우시스템프로그래밍

Microsoft PowerPoint UNIX Shell.pptx


C++ Programming

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

PowerPoint Presentation

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint Relations.pptx

PowerPoint 프레젠테이션

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

PowerPoint Presentation

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

강의10

2007_2_project4

02장.배열과 클래스

쉽게 풀어쓴 C 프로그래밍

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각


PowerPoint 프레젠테이션

TEST BANK & SOLUTION

01 EDITOR S PICK: 068_ _069

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft PowerPoint - [2009] 02.pptx

제 12강 함수수열의 평등수렴

Microsoft PowerPoint UNIX Shell.ppt

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000

중간고사

17장 클래스와 메소드

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

Java ...

쉽게배우는알고리즘 8장. 동적프로그래밍 프로그래밍 Dynamic Programming (DP)

2012_GA_HW1.hwp

C 언어 프로그래밊 과제 풀이

슬라이드 1

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

OR MS와 응용-03장

3.2 함수의정의 Theorem 6 함수 f : X Y 와 Y W 인집합 W 에대하여 f : X W 는함수이다. Proof. f : X Y 가함수이므로 f X Y 이고, Y W 이므로 f X W 이므로 F0이만족된다. 함수의정의 F1, F2은 f : X Y 가함수이므로

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint 프레젠테이션

설계란 무엇인가?

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Chap 6: Graphs

<3130C0E5>

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

슬라이드 1

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

Microsoft PowerPoint - chap06-1Array.ppt

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

쉽게 풀어쓴 C 프로그래밊

Chapter 4. LISTS

vi 사용법

C 프로그램의 기본

컴파일러

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

Buy one get one with discount promotional strategy

EA0015: 컴파일러

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

윈도우즈프로그래밍(1)


Microsoft PowerPoint - chap10-함수의활용.pptx

06장.리스트

Microsoft PowerPoint - chap08-1 [호환 모드]

Microsoft Word - A_Battleship_final.docx

PowerPoint 프레젠테이션

Microsoft PowerPoint - 10Àå.ppt

강의계획서 (Sylabus) 2013 학년도 2 학기 * 강의과목 교과목명 (CourseName) 한국문화를찾아서 INSEARCHOFKOREANCULTURE 언어 (Language) 영어 과목번호 - 분반 (CourseNo.-Class) 수강대상

*캐릭부속물

2. 강의방법 (CourseResources) 세미나 Seminar 발표 Presentation 질의응답 Q&A 초청강의 Special Lecture 현장답사 Field Trip 유인물활용 Handouts Audio/Video/TV Team Teaching 토의 / 토

KNK_C02_form_IO_kor

PowerPoint 프레젠테이션

Transcription:

서강대학교공과대학컴퓨터공학과 (/5) CSE08 ( 반 ): 알고리즘설계와분석 < 프로그래밍숙제 > (v_.0) 담당교수 : 임인성 05 년 0 월 일 마감 : 0 월 일토요일오후 8 시정각 제출물, 제출방법, LATE 처리방법등 : 조교가과목게시판에공고할예정임. 목표 : 주어진문제에대한분석을통하여 optimal substructure 를유추하고, 이를 bottom-up 방식으로계 산하는과정에대한연습을통하여, 알고리즘설계기법중의하나인 dynamic programming 에대한이해도 및응용능력을높이도록한다. [ 문제 ] 다음의문제를 dynamic programming 기법을사용하여해결하자. Given two sequences X = x x x n and Y = y y y m (n, m 0), find a longest common subsequence (LCS) of X and Y. 이제주어진두문자열 (character sequence) X 와 Y 에대하여 (i) 그것들의 LCS의길이와 (ii) LCS에해당하는문자열을찾는프로그램을작성하라.. 여러분의프로그램은자신의프로그램원시파일과동일한디렉토리에저장되어있는 P_input.bin 파일에서테스트데이터를읽어들여, 동일한디렉토리에이름이 P_output.bin인파일에프로그램수행결과를저장해야한다.. 입력파일에는모든값들이 binary format으로저장이되어있다. 먼저첫 바이트에는테스트케이스의개수가 int 타입으로저장되어있으며, 이후이개수만큼의각케이스에대한입력데이터가순차적으로저장되어있다. 한테스트케이스에대해서먼저첫 바이트에는첫번째문자열 X 의길이 n, 그리고다음 바이트에는두번째문자열 Y 의길이 m이각각 int 타입으로저장되어있고, 연달아다음 n 바이트에는 X 에대한문자들이, 그리고그다음 m 바이트에는 Y 에대한문자들이 char 타입으로저장되어있다 ( 문자열의길이는최대 095까지처리가능하여야함 ).. 출력파일역시모든값들을 binary format으로저장해야한다. 먼저첫 바이트에는테스트케이스의개수를저장해야하며 ( 입력데이터의첫 바이트와동일 ), 다음각테스트케이스에대한답이순서

서강대학교공과대학컴퓨터공학과 (/5) 대로저장되어야한다. 각테스트케이스에대해먼저첫 바이트에는해당 LCS의길이 l 을 int 타입으로저장하며, 연달아다음 l 바이트에는해당 LCS의문자들을 char 타입으로저장해야한다. 동일한길이를가지는 LCS가두개이상일경우어떠한결과를출력해도문제를올바로푼것으로간주한다. [ 문제 ] 다음의문제를 dynamic programming 기법을사용하여해결하자. Given two strings A = a a a n and B = b b b m (n, m 0), consider the problem of transforming A into B by either inserting a character into A, deleting a character from A, or replacing a character in A by another. Suppose that the costs per insertion, deletion, and replacement are c ins, c del, and c repl, respectively. Then, find the minimum cost of transforming A into B, and show how A can be converted into B at the cost. 위의문제에서 c ins = c del = c repl = 인경우에대하여, (i) 문자열 A를 B 로변환하는데필요한최소비용과 (ii) 그러한최소비용에해당하는변환과정을구하는프로그램을작성하라.. 여러분의프로그램은자신의프로그램원시파일과동일한디렉토리에저장되어있는 P_input.txt 파일에서테스트데이터를읽어들여, 동일한디렉토리에이름이 P_output.txt인파일에프로그램수행결과를저장하여아한다. 첫번째문제와는달리입출력데이터모두 ASCII format으로저장을한다.. 입력파일의첫줄에는테스트케이스의개수가정수타입으로주어져있고, 이후각케이스에대하여두줄씩입력문자열이저장되어있다 ( 첫번째줄에 A, 그리고두번째줄에 B 가저장되어있으며, 각문자열은해당줄의첫문자부터 newline 문자 ( 또는 EOF 문자 ) 바로직전까지의모든문자 (space 문자포함 ) 로구성되어있으며, 문자열의길이는최대 095개까지처리가능하여야함 ). 다음은세개의테스트케이스로구성된입력파일의예를보여주고있다. kitten sitting exponential polynomial Another fine day in the park Anybody can see him pick the ball. 출력파일의첫줄에는테스트케이스의개수를저장해야하며 ( 입력데이터의첫줄과동일 ), 다음각테스트케이스에대한답이순서대로저장되어야한다. 각테스트케이스의경우먼저첫줄에최소비용을정수타입으로저장한후, 다음최소비용에해당하는개수의줄각각에는문자열 A를 B 로변환을하는과정을순차적으로저장해야한다. 이때반드시 A의문자들을앞에서뒤로가면서스캔하면서변환해야한다. 이때변환을위한세가지연산에대한각명령의문법은다음과같다. I i x Insert a character x in A right after a i.

서강대학교공과대학컴퓨터공학과 (/5) D i Delete a i from A. R i x Replace a i in A by a character x. 다음은앞의입력데이터에대한문제풀이결과를보여주고있다. R s R 5 i I g D D R 5 l R y R 8 o I 8 m 9 R y R b R 5 o. R 8 l. 주의 : 변환과정에서한순간에서로다른연산을적용하는것이가능하다면 ( 즉최소비용의변환으로가는길이여러가지가존재한다면 ), 항상 DELETION > INSERTION > REPLACEMENT의순서로연산을선택을해야한다. [ 문제 ] 다음의문제를 dynamic programming 기법을사용하여해결하자. Given a set of n positive integers A = { a, a,, a n }, patition A into two subsets A and A (i.e. A = A A, A A = ) such that S S is minimized, where S i is the sum of elements in A i (i =, ). 이제주어진집합 A에대하여 (i) 위문제에서찾고자하는최소차이와 (ii) 그러한최소차이에해당하는두집합 A 과 A 를구하는프로그램을작성하라.. 여러분의프로그램은자신의프로그램원시파일과동일한디렉토리에저장되어있는 P_input.txt 파일에서테스트데이터를읽어들여, 동일한디렉토리에이름이 P_output.txt인파일에프로그램

서강대학교공과대학컴퓨터공학과 (/5) 수행결과를저장하여아한다. 두번째문제와같이입출력데이터모두 ASCII format으로저장을한다.. 입력파일의첫줄에는테스트케이스의개수가정수타입으로주어져있고, 이후각케이스에대한입력데이터가주어진다. 각케이스에대해서는먼저첫줄에 A의원소의개수 n 이정수타입으로저장되어있고 ( 원소의개수는최대 0개까지처리가능하여야함 ), 이후그개수에해당하는줄각각에 A의원소가정수타입으로저장되어있다. 7 8 7. 출력파일의첫줄에는테스트케이스의개수를저장해야하며 ( 입력데이터의첫줄과동일 ), 다음각테스트케이스에대한답이순서대로저장되어야한다. 각테스트케이스의경우먼저첫줄에최소차이, A의원소의개수 n, 그리고첫번째부분집합 A 의원소의개수 n 등세개의정수를저장한후, 이후두부분집합의원소를한줄에한개씩순차적으로저장해야한다. 이때첫 n 개의원소는 A 의원소로, 그리고나머지 n n 개의원소는 A 의원소로간주한다. 만약동일한최소비용을가지는집합분할이두개이상존재할경우, 어떠한결과를출력해도문제를올바로푼것으로간주한다. 다음은앞의입력데이터에대한문제풀이결과를보여주고있다. 0 7 8

서강대학교공과대학컴퓨터공학과 (5/5) 7 [ 참고사항 ]. 숙제제출기간동안조교가숙제와관련하여중요한공지사항을게시판에올릴수있으니항상수업게시판을확인하기바람. 제출내용및방법에변경이있을수있음.. 채점은우선여러분의원시코드를확인한후, 본과목에서준비한테스트데이터를사용하여기계적으로여러분의프로그램을검증할예정이므로, 위에서기술한정확한입출력형식을따르도록코딩을할것. 이를위하여샘플로제공하는테스트데이터를잘활용할것.. 숙제를하면서서로아이디어를교환하는것은허용하나 ( 게시판활용권장 ), 자신의코드는자신이직접작성해야함.. 제출파일에서바이러스발견시본인점수 X (-) 이고, 다른사람의숙제를복사할경우관련된사람모두에대하여만점 X (-0) 임.