본문 바로가기

개발

(72)
그래프 에디터 (GraphEdit) 사용하기 0. 그래프 에디터 시작하기 그래프 에디터는 다양한 멀티미디어 관련 유틸리티를 제작할 수 있는 유용한 도구이다. 그래프 에디터를 이용해 다이렉트쇼의 모든 컴포넌트(필터)를 구성하고 테스트해볼 수 있다. 다이렉트쇼의 필요한 기술의 대부분은 필터그래프(filter graph)를 구성하는 기술이다. C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin 경로에 Graphedt.exe 프로그램이 존재한다. 1. 그래프 에디터 사용 기술 다이렉트 쇼에서 컴포넌트란 필터를 의미한다. 다이렉트 쇼에서 필요한 기술의 대부분은 필터그래프이다. 필터 그래프를 구성하는 기술은 크게 렌더링과 연결하기로 나누어진다. 1.1 렌더링으로 필터그래프 구성 1.1.1 널렌더링 (아무 것도 없는 상태에..
Python(파이썬)으로 blind sql 공격 blind sql은 쿼리의 에러를 웹페이지에서 확인할 수 없고 단순히 쿼리를 던져서 그 응답을 확인하는 것이다. 웹페이지는 참/거짓으로 반응할 것이다. (예) 참일 경우 기존 데이터를 보여줄 것이고 거짓일 경우 아무런 데이터도 보여주지 않을 것이다. 좀더 빠르게 파이썬으로 구현할 경우 응답에 특이 문자열이 있다는 조건을 넣고 해당 조건이 나올 때 이 쿼리는 참이라고 생각하고 아닐 경우 거짓이라고 생각한다 1. 우선 로그인을 한후 세션을 생성한 뒤 넣어준다. 2. 프록시가 필요할 경우(버프에서 입력받고자할 경우) 주석을 풀어준다 3, 뭐든지 공격은 길이부터 알아야한다. 4. 여기서는 Get방식으로 통신한다. 5. 웹페이지의 검색어가 특수문자 입력제한으로 막혀있을 경우 기본적엔 테이블을 확인하자. 6. 예를..
일방통행 문제 1 에서 출발하여 N 까지 최소 길찾기, 길은 일방통행 임 각 노드는 빨걍, 파랑, 그린, 흰색을 가지는데 노드의 색깔이 빨강색이면 빨강색 통행증 제출 (빨강색 통행증이 없으면 나갈 수 없음) 파랑색이면 파랑색 통행증 제출 (파랑색 통행증이 없으면 나갈 수 없음) 그린이면 그대로 통과 흰색이면 통행증 지급, 단 통행증은 각각 1개를 초과할 수 없다. 출발시 빨간 통행증랑1 파란 통행증 1을 가지지고 출발한다. 1에서 N까지 최소 길을 찾는 문제 입력 테스트 개수 노드의 수 1
마트료시카 문제 동현이는 인형을 좋아한다. 이러한 동현이를 위해 마트료시카를 선물해주자. 마트료시카는 러시아 전통 인형으로 인형 안의 인형을 넣을 수 있는 인형이다. 인형들이 열렬로 늘어서 있다. 인형들마다 크기가 주어져 있는데, 앞에 있는 인형의 크기가 뒤에 있는 인형의 크기보다 작으면, 앞에 있는 인형을 뒤에 있는 인형 안에 넣을 수 있다. 예를 들어 앞에서부터 순서대로 크기가 (1, 5, 2, 3, 7)인 5개의 인형이 있다면, 크기 1인 인형을 크기 5인 인형에 넣고, 다시 이 인형들을 크기 7인 인형 안에 넣을 수 있다. 하지만 이렇게 인형를 넣을 수 있는 방법은 여러 가지가 있을 수 있다. 앞의 예에서 차례대로 크기가 1, 2, 3, 7인 인형들을 선택하면 총 4개의 인형이 한 개의 인형에 들어가게 된다..
폐지줍기 문제 N×N 격자로 이루어진 도시가 있다. 이 도시 군데군데에는 폐지가 버려져 있다. 범수는 가장 왼쪽 위 격자 (1, 1)에서 출발하여 가장 오른쪽 아래 격자 (N, N)까지 이동하며 폐지를 줍는데, 최단 경로를 따라가야만 한다. 즉, 인접한 오른쪽 칸 또는 아래쪽 칸으로만 이동할 수 있다. 이 때, 범수가 수집할 수 있는 폐지의 최대값을 출력하시오. 출발점과 도착점에 위치한 폐지 또한 주울 수 있다. 입력 첫 번째 줄에는 도시의 크기 N이 주어진다. (2 ≤ N ≤ 200) 두 번째 줄부터 N개의 줄에 걸쳐 도시의 정보가 주어진다. 도시의 정보 중 i번째 줄의 j번째 숫자는 격자 (i, j)에 버려진 폐지의 양 A_ij을 나타낸다. (0 ≤ A_ij ≤ 1000) 출력 범수가 주울 수 있는 최대 폐지..
합분해 문제 0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램을 작성하시오. 덧셈의 순서가 바뀐 경우는 다른 경우로 센다(1+2와 2+1은 서로 다른 경우). 또한 한 개의 수를 여러 번 쓸 수도 있다. 입력 첫 번째 줄에 두 정수 N, K가 공백으로 분리되어 주어진다. (1 ≤ N, K ≤ 200) 출력 첫 번째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. 힌트 예제 입력 20 2 예제 출력 21 #include #include using namespace std; //D[i][j] = i개의 수를 더해서 j를 만드는 경우의 수 //D[i][j] = sum of D[i-1][j-k] for all 0 5개 //D[2][3] = 0:3, 1:2, 2:1, 3..
롤러코스터 문제 소들은 롤러코스터를 짓고있다! 소들은 자신들이 가지고 있는 돈을 활용해서 최대한 재밌는 롤러코스터를 만들고 싶어한다. 롤러코스터는 직선형으로, 길이가 L이다. 소들이 롤러코스터를 지을 때, 롤러코스터는 N개의 교체 가능한 부품들중 일부로 구성되어야 한다. 각 부품 i는 고정된 길이 Wi를 가지고 있다. 그리고 다양한 지형의 굴곡 때문에, i번째 부품은 오직 Xi의 위치를 시작점으로만 놓을 수 있다. 소들은 다양한 롤러코스터를 0부터 L까지 빈틈없이 채우고 싶어한다. 만약 중간에 빈칸이 있으면 롤러코스터를 구성할 수 없다. 또한, 각 부품끼리 겹쳐서 롤러코스터를 건설하는 경우도 없다. 각 i번째 부품은 "재미도" Fi과 짓는데 드는 비용 Ci가 있다. 총 비용은 롤러코스터를 구성하는 부품을의 비용의 ..
인접한 비트의 개수 문제 0과 1로 이루어진 수열 S가 주어진다. S의 첫 수를 s_1, 마지막 수를 s_N이라고 할 때, S의 인접한 비트의 개수는 다음과 같이 구할 수 있다. s_1 x s_2 + s_2 x s_3 + s_3 x s4 + ... + s(N-1) x s_N 위의 식을 이용하면 수열 S에서 인접한 1의 개수를 구할 수 있다. 예를들어, 011101101의 인접한 비트의 개수는 3이 되고, 111101101은 4, 010101010은 0이 된다. 수열 S의 크기 N과 K가 주어졌을 때, 인접한 비트의 개수가 k인 수열 S의 개수를 구하는 프로그램을 작성하시오. 예를 들어, N이 5이고, K가 2이면, 수열 S가 될 수 있는 수열은 다음과 같이 6가지가 있다. 11100 01110 00111 10111 1110..