본문 바로가기

알고리즘

[Queue(BFS)] 댐/dam Question 30 계단 > 큐 > 댐(dam) Solving Code1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889#include using namespace std; typedef struct position{ int posX; int posY; int order;}pos; int t, map[103][103], sX, sY, k;pos queue[10000], tmp;int front, rear, cnt, key; int dirx[] = { -1.. 더보기
속임수/coci_trik/통과율(63%) 문제: http://183.106.113.109/30stair/coci_trik/coci_trik.php?pname=coci_trik 문제 요약 컵이 3개 있고, 최초 왼쪽 컵에 공을 넣었다. 이리저리 섞은 후 최후에 공이 들어 있는 컵을 맞추는 문제다. 인풋값으로 A, B 또는 C가 주어질 수 있고, 최대 50번까지 섞는게 가능하다. A는 왼쪽과 중간 컵의 위치를 바꾸는 것이다.B는 중간과 오른쪽 컵의 위치를 바꾸는 것이다.C는 왼쪽과 오른쪽 컵의 위치를 바꾸는 것이다. Code 12345678910111213141516171819202122232425262728293031323334353637383940414243#include #pragma warning(disable:4996) char order.. 더보기
실력키우기 > 자료처리 > 이진탐색 문제 아래 링크를 통해 문제를 확인할 수 있습니다. http://www.jungol.co.kr/prog/Hanal/hanalView.php?qs_code=1295&qlevel=4&sk=&sv=&menu=&qc=47&sst=qs_code&sod=asc&page=1 주의할 점 - 마지막 mid가 찾고자하는 값의 인덱스다.- 재귀를 돌면서 다시 계산 되는 low, mid, high를 조심한다.- 재귀를 빠져 나오면 바로 return 되도록 한다. 소스 코드 Colored By Color Scripter™123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include #pragma warning.. 더보기
[Dynamic Programming]scv 자원 채취 문제 문제로 가기 -> http://183.106.113.109/30stair/scv/scv.php?pname=scv난이도: 하 프로그램 명: scv제한시간: 1 초N * N 크기의 맵이 있다. 이 맵에는 미네랄이 군데군데 매장되어 있어서 당신은 SCV 를 이용해 이 미네랄을 채취하려고 한다.SCV 는 (1,1) 의 위치에서 출발하여 (N,N)까지 이동하는데, 이 SCV 는 고물이라 오른쪽 또는 아래쪽으로 밖에 움직이지 못한다. 이 SCV 는 무한한 양의 미네랄을 가지고 있을 수 있다고 가정하자. 이 SCV 를 이용해서 최대한 많이 미네랄을 얻도록 하는 프로그램을 작성하시오.입력 방법첫 줄에는 맵의 크기 N ( 3 더보기
Tree - 난이도(하) [ 문제 ] 완전 이진 트리를 만들고 레벨 전위 중위 후위 사선에 대한 출력을 할 수 있는 프로그램을 만드시오. [10 9 17 11 23 8 66 21 2 33 51 7 28] 그리고 만들어진 트리를 이용하여 레벨, 전위, 중위, 후위, 사선 출력하시오 레벨 10 9 17 11 23 8 66 21 2 33 51 7 28 전위 10 9 11 21 2 23 33 51 17 8 7 28 66 중위 21 11 2 9 33 23 51 10 7 8 28 17 66 후위 21 2 11 33 51 23 9 7 28 8 66 17 10 사선1 10 9 11 21 사선2 10 17 66 [ 입 출력 조건 ] 입력 첫 줄에는 Case의 수 n( 1< n 더보기
점수를 이용한 이름 정렬 - 난이도(하) 문제 - 점수 정렬 중간고사 후 시험 성적이 나왔다. 그러나 이름과 성적이 두서없이 섞여있다. 이를 점수가 높은 순으로 정렬한다. Input  첫 번째 줄에는 테스트 케이스의 수 ( 0 < n < 50 )가 입력된다. 두 번째 줄에서는 자신이 입력할 인풋 개수 ( 0 < m < 1000 ) 이다. 이후 m 만큼의 이름과 점수가 입력된다. 이름과 점수 사이는 공백으로 구분된다. Output 점수가 높은 사람 순으로 정렬하여 출력한다. 각 케이스는 ‘Testcase#N’로 구분하게 된다. (여기에서 N은 정수) 입력 출력 22 김영수 999박민지 10004이상준 9장대진 1구미진 5심형민 10 Testcase#0박민지김영수 Testcase#1심형민이상준구미진장대진 How to... 이름과 점수를 .. 더보기
행렬의 곱 - 난이도(하) 행렬의 곱 The Problem행렬의 곱 연산은 2*2 일 때, 쉽지만 그 이상이 가면 수학과 라도 손으로 풀려고 한다면 많은 시간이 걸린다. 그래서 사람들에게 외주를 부탁 하였다. 다음은 행렬의 곱에 대한 식이다.Input  첫 번째 줄에는 테스트 케이스의 수 ( 0 < k 50 )가 입력된다. 두 번째 줄에서는 A의 크기 M과 N이 주어진다. ( 2 < M, N < 100)  그 이후 M과 N 만큼 값이 주어진다. 다음 줄은 A와 같이 B가 주어진다. Output 각 케이스는 ‘Testcase#N’로 구분하게 된다. (여기에서 N은 정수) 결과를 출력한다. 입력 출력 22 223 5030 602 1122 2 23 5030 602 22 11 2 Testcase#1123150Testcase#2.. 더보기
고과평가 - 난이도(하) 문제 - 고과평가 난이도 - 하The Problem어떤 회사에서는 상반기 하반기 마다 고과 평가를 한다. 이 평가는 맴버십 활동의 중요한 척도 중 하나이기에 정확하게 계산해야 한다. 하지만 손으로 계산 하면 틀릴 가능성이 있어서 이 프로그램을 구현하기로 하였다. 고과 평가 항목은 다음과 같다. A급(15) B급(10) C급(5) D급(3)으로 나누어 져 있고 자신이 등급을 선택하여 입력을 하고 그 등급의 점수의 합을 한다. 그리고 부장님 면담을 통해 재 평가를 받게 되는데 여기서 평가 항목이 정확하지 않을 때 제외 시킨다. 그리고 평가가 끝난 후 자신의 평가 점수를 알 수 있다. Input  첫 번째 줄은 인풋 케이스의 수 ( 0 < n < 50 ) 이다. 두 번째 줄에서는 자신이 입력할 인풋 개수 .. 더보기
[해결] Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted. C/C++ 카테고리에 들어가야 맞겠지만, 일단 알고리즘 풀다가 생긴 오류니까 여기 포스팅했습니다. ;ㅁ; Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted. 몇 줄 짜지도 않았는데 위와 같은 Run-time 에러가 났습니다. 위와 같은 에러는 근본적으로 설정한 배열 크기, type 크기보다 큰 값이 들어갈 때 발생합니다. 실수하지 않게 조심해야겠습니다. :( 더보기
[Dovelet] 친구수/amicable 1. 문제 프로그램 명: amicable제한시간: 1 초어떤수 A 의 약수(단, 자신은 제외)의 합을 B 라 할 때A 와 B 가 같으면 완전수B 의 약수(자신은 제외)의 합이 다시 A 가 되는 경우를 친구수라 함.친구수가 되는 최초의 수는 220 이다.220 의 약수는 1,2,4,5,10,11,20,22,44,55,110,220 이 중 자신을 제외한 약수의 합은1+2+4+...+110 = 284284 의 약수는 1,2,4,71,142,284 자신을 제외한 약수의 합은1+2+4+71+142 = 220그러므로 220 과 284 는 친구수 이다. 입력 자연수 n ( n 더보기