본문 바로가기

For all category

파일시스템 - 07. MFT가 무엇인가?(2) 아앍 이미 포스트가 올라와 있어야 하는데 갑작스런 사정으로 좀 늦었습니다; 예상하기에 3번에 걸쳐서 올린 후, 안드로이드 프로그래밍에 대해 올리지 싶습니다. --------------------------------------------------------------------------------------------------------------- MFT에는 메타 데이터 파일 외에 일반 파일을 위한 MFT 엔트리들이 연결되어 있습니다. 부트 레코드에서 MFT 시작 엔트리의 클러스터 번호를 담고 있고, 이 내용을 통해 MFT 엔트리 0번에 접근하지요. 여기 MFT 엔트리 0번부터 파일들의 연결 체인이 시작되며, 이 부분부터는 FAT의 엔트리 체인과 상당히 흡사하다고 볼 수 있습니다. 가령 예를 들면.. 더보기
PKU 2245. Lotto. 에이씨 -_- #include using namespace std; int dataset[13]; int nums; int outputs[6]; void getPerm(int num, int lev) { int iCnt; if (lev > 5) { for (iCnt = 0; iCnt < 5; iCnt++) { cout dataset[iCnt]; } //for (iCnt = 0; iCnt < nums - 6; iCnt++) //{ getPerm(0, 0); //} if (nums == 6) { for (iCnt = 0; iCnt < 6; iCnt++) { cout 더보기
dlbo's 포스트 연기 공지 계속 연기만 반복되는거 같아 죄송합니다; 사유를 대자면, 공익 근무 땜빵 + 갑작스러운 후임 신규자 교관 + 알바 로 인해 오늘 아침에 퇴근했습니다. -_-;; 몸살도 지금 쩔게 제대로 걸렸구요; 최대한 다음주 수요일 안에 포스트 준비해서 올리겠습니다; 더보기
문제 안풀어요? 뭐 난 재학생인지라 쉬게 해주니 좋지만.. 더보기
[PRJ2] OTHELLO v1.04 AMAZE도 아직 업데이트할 것이 남았는데 자꾸 이것만 건드리네요 -_-ㅋㅋ 업데이트 내용 ------------------------ [ 공통사항 ] - 인터페이스 개선 ( 게임판을 화면의 중앙에 배치하였고, history의 출력을 조금 더 간략하게 하는 등 몇가지의 변화가 있었습니다 ) ------------------------ 원본은 http://cm4st.tistory.com/46 제 블로그에는 스크린샷도 하나 찍어두긴 했습니다 :D 더보기
스파킹 죽었냐 왜 문제가 안올라오는거야 -_-; 더보기
근황 및 변명 학교에서 야자 안하는 날이 한 달에 한 번 밖에 없으니 글쓰기가 힘드네요. 글쓰는 날 토요일에서 일요일로 바꿔야겠어요. 일요일에 어떻게 야자를 하죠? 더보기
파일시스템 - 06. MFT가 무엇인가?(1) 원래 일요일 포스팅 예정이었습니다만, 공익 정신이상 후임 녀석때문에 일요일 땜빵 뛰게 되어서 상당히 좀 부실합니다; --------------------------------------------------------------------------------------------------------------- MFT란 Master File Table의 약자로, FAT의 파일 엔트리와 비슷한 개념입니다. 다만, NTFS에서는 루트 디렉토리 등의 엔트리에 관한 내용이 없으며, B+ 트리 알고리즘 등으로 인해 엔트리 검색 형태 등에서 차이가 납니다. 훨씬 개선된 검색속도를 가지며, 클러스터의 크기가 64비트로 월등히 크다는 점을 감안할때 상당히 유용하지요. 엔트리의 대체물로 볼 수 있기 때문에 이 MFT.. 더보기
[PRJ2] OTHELLO v1.03 일이 바쁘다보니 거의 4주만에 다시 잡아보는군요 :) 업데이트 내용 ------------------------ [ 공통사항 ] - 돌을 놓을 수 있는 자리에 'x'를 출력 ( 커서가 해당 자리에 있을 경우 'x'가 보이지 않으니 주의해주세요 ) ------------------------ 원본은 http://cm4st.tistory.com/40 :D 더보기
Computer Vision #3. My first OpenCV Project. 저번 포스트의 내용까지 다 설정하셨다면, 기본적인 OpenCV 의 설정은 끝났습니다. 그럼 이제 실제로 프로젝트를 만든 뒤, 간단한 코딩을 해 보겠습니다. 우선 Win32 Console 프로젝트를 생성합니다. VS 상에서 Alt + F7 을 눌러 Project Property 를 편집합니다. 저 위에 있는 Additional Dependencies 항목에 다음과 같이 입력합니다. cv200.lib highgui200.lib cvaux200.lib cxcore200.lib 확인 버튼을 누릅니다. 다음엔 dll 파일들을 프로젝트에 실제로 복사해 넣어줘야 합니다. 복사할 dll 파일들은 다음과 같습니다. cv200.dll cvaux200.dll cxcore200.dll highgui200.dll 위 dll 파.. 더보기
Computer Vision #2. Setting OpenCV 2.0 with VS 2008. 이번 포스트는 OpenCV 를 세팅하는 방법에 대한 것입니다. 제 개발환경은 다음과 같습니다. Windows7 Ultimate K, 32 bit. OpenCV 2.0 Visual Studio 2008 sp1 우선 준비할 것들은 다음과 같습니다. 1. OpenCV 2.0 2. cmake-2.8.0-win32-x86 3. Visual Studio 2008. - Service Pack 은 없어도 무방합니다만, 인스톨 할 것을 추천합니다. 우선 아래 사이트로 이동하고 다운로드 해 주세요. http://sourceforge.net/projects/opencvlibrary/ 다운로드가 끝난 뒤 인스톨을 시작합니다. 저 부분만 체크하신 뒤에 설치를 진행해 주시면 됩니다. OpenCV 의 설치가 끝났다면, 이젠 아래의.. 더보기
PKU 2245. Lotto. WA -_- 니미; #include using namespace std; int dataset[13]; int nums; int outputs[6]; void getPerm(int num, int lev) { int iCnt; if (lev > 5) { for (iCnt = 0; iCnt < 5; iCnt++) { cout dataset[iCnt]; } for (iCnt = 0; iCnt < nums - 6; iCnt++) { getPerm(iCnt, 0); } } return 0; } Mr.K의 방법과 유사합니다만, 출력이 처리에 결합된 부분이 다릅니다. 이 부분에서 실수를 좀 했었는데, 마지막 함수에서 출력을 몰아서 해야 하건만, 매 프로세스마다 출력하도록 실수했었죠; 1 2 3 4 5 6 7중 6개를 뽑아야 한다면 1.. 더보기
dlbo's 포스트 연기 공지 죄송합니다; 황사때문인지 감기가 더욱 심해져서 감기 몸살이 되어버렸습니다; MFT는 정리는 되어 있지만 아직 포스트로 띄울 수 있는 상태가 아니라서 일단 1주 휴재하겠습니다; 더보기
어라 슈봐?;; PKU 접속이 안되네요. -_-; 젠장; 더보기
[잡담] 근황. (그나마 결과 잘 나온 것.) 요즘 문자인식을 하기 위해서 -_- 효율적인 레이블링 기법을 공부하고 있는데, 맘만큼 잘 안되네요 -_-;;;; 미치겠습니다 아주 그냥. 지난 포스트는 다음주 월요일 저녁 올릴게요. 시간 못 지켜서 죄송합니다 ㅠㅠㅠㅠㅠ 더보기
PKU 2245. Lotto. [판정:AC] 예압 일단 인증 ㄱㄱ요 많이 피곤한 상태에서 졸릴락 말락 하면서 풀었더니 좀 코드가 지저분한 감이 없지 않아 있는 것 같은데 그래도 그냥 올림요 ㅋㅋ #include #include int nc6( int n ) { // this function returns value of nC6 int res = 1; int i; for( i = 0; i < 6; i++ ) { res *= n-i; } res /= 720; return res; } int dscanf( int *pnum ) { scanf("%d", pnum); return *pnum; } void main() { int n; int *nums; int dmy[6]; // dummy variable set int i, j, k; while( dscan.. 더보기
PKU 2245. Lotto. 복권 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3799 Accepted: 2458 설명 독일식 복권은 {1,2,...,49} 중 6개의 숫자를 고릅니다. 비록 당첨확률을 높여주는 방법은 아니지만, 대중적인 선택방법에는, 49개의 숫자들 중 어떤 수 k (k > 6)를 포함하는 부분집합 S를 선택하여 그 안에서 숫자들을 고르는 것입니다. 예를 들어 k=8 이고 S = {1,2,3,5,8,13,21,34} 라면 [1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ... [3,5,8,13,21,34] 등 가능한 선택하는 방법은 28개가 되겠습니다. 당신은 이제 k 와 집합 S를 받으.. 더보기
PKU 2245. Lotto Lotto Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3799 Accepted: 2458 Description In the German Lotto you have to select 6 numbers from the set {1,2,...,49}. A popular strategy to play Lotto - although it doesn't increase your chance of winning - is to select a subset S containing k (k > 6) of these 49 numbers, and then play several games with choosing numbers only from S. For exa.. 더보기
현재 문제풀이 현황과 가장 최근의 글 Dlbo군이 AC 44개 제가 AC 38개 환타님이 AC 34개 Reuent가 AC 19개 Reddelicious님이 AC 5개입니다 :) -------------------------------- Reuent : Computer Vision #1. An Introduction. ― 10. 03. 05 ( http://studyinglw.tistory.com/731 ) Dlbo : 파일시스템 - 05. NTFS 개요. ― 10. 03. 15 ( http://studyinglw.tistory.com/737 ) Sparking : PKU 2390. Bank Interest ― 10. 03. 02 ( http://studyinglw.tistory.com/706 ) Reddelicious : PKU 2017 S.. 더보기
파일시스템 - 05. NTFS 개요. 한영키가 또 안먹히는군요.... 우라질; 아무래도 놋북 키보드를 갈아야 할 것 같습니다; ------------------------------------------------------------------------------------------------------------------ NTFS는 New Technology File System이라는 길다란 풀네임을 가지고 있습니다. 이는 FAT파일시스템이 체계를 잡아가던 서버용 윈도우즈, 윈도우즈NT 시절부터 태어나 자라왔지요. FAT의 막내격이자 가장 최신형인 FAT32는 FAT엔트리에서 한 엔트리당 크기가 32비트였던 것에 비해 아예 윈도우즈 3.x버전이 돌던 시기의 최초형 윈도우즈 NT스테이션때부터 엔트리당 64비트의 크기를 가지고 시작했습.. 더보기
dlbo's 포스트 연기 공지 시간상의 문제로 이르면 일요일, 늦으면 화요일 오후까지 포스트 올라갑니다. -_-; 더보기
PKU 2017 Speed Limit [AC] #include int main(void) { int i; int set; int miles_sum; int mile, time; int prev_time; while(1) { scanf("%d", &set); if(set==-1) return 0; prev_time = 0; miles_sum = 0; for(i=0; i 더보기
파일시스템 - 04. FAT 엔트리의 내용, 디렉터리. FAT 엔트리에 관한 저번 내용을 보셨다면, 문득 궁금한 내용이 생기시지 않았을까 합니다. "디렉터리는?" 하는 의문 말이지요. -_-; 뭔가 글씨가 안맞네요. FAT 시스템에서는 디렉터리나 파일이나 동일한 구조를 갖습니다. Name 필드 - 최초 8바이트의 필드로, 이 엔트리가 지시하고 있는 파일의 이름을 가지고 있는 필드입니다. 8바이트중 텅 빈 부분은 공백문자(20h)로 메꿔넣어야 하며, 0h로 채워넣게 되면 대략 낭패. Extender 필드 - 이름에서도 느껴지듯, 확장자가 들어가는 필드입니다. 3글자만 가능하며, 3바이트로 구성, 디렉터리인 경우는 빈칸으로 둡니다. Attrivute 필드 - 01부터 02, 04, 08, 10, 20, F0의 값을 가지고 있는 1바이트 필드이며, 이게 어떤 파.. 더보기
PKU 2390. Bank Interest. AC get -_- main(a){double b,c;scanf("%lf%lf%d",&b,&c,&a);printf("%d\n",(int)floor(c*pow(1+b/100, a)));} 다시한번 숏코딩 ㄱㄱ 더보기
PKU 2027. No Brainer [AC] 지난 것들을 하나씩 해보려 합니다. 1번부터 하려는데, 시간없는 주말에 하려니 좀 짜증나길래, 2번을 풀어봅니다. 1분이면 ok군요 이건. #include int main(void) { int cases, a, b; scanf("%d", &cases); while(cases>0) { scanf("%d %d", &a, &b); if(a>=b) { printf("MMM BRAINS\n"); } else { printf("NO BRAINS\n"); } cases--; } } 더보기
Computer Vision #1. An Introduction. Computer Vision 이라는 학문은 개인적으로 '컴퓨터에 사람의 눈을 달아주는 것' 이라 생각합니다. 컴퓨터라는 기기는 스스로의 힘으로 현상계(Real World) 에 존재하는 사물을 인식할 수 없습니다. 왜냐구요? 컴퓨터가 가지는 입력장치는 일반적으로 2가지 - 키보드와 마우스 - 에 불과한데, 이들은 모두 현상계의 정보를 전달하기엔 미약하기 때문이죠. 따라서 우리들이 살아가는 세상의 정보를 '인식' 할 수 없고, 따라서 '인지' 할 수 없기에 컴퓨터는 스스로의 힘으로는 아무 것도 할 수 없는 단순한 '하이테크 고철덩어리' 가 됩니다. 아주 많은 일을 할 수 있지만, 혼자서는 어떤 것도 할 수 없는 '도구' 에 불과할 뿐입니다. 그래서 컴퓨터 과학자들은 생각했습니다. 컴퓨터에 '눈' 과 '뇌' .. 더보기
2010. 3. 5 이전 포스트 복구했습니다. 앞으로 차근차근 수정해 나가겠습니다. 더보기
죄송합니다. -_-;;;; 조금 더 쉴게요. 할 일이 더 생겨서 말입니다 -_-;;; 한 주만 더 쉴게요. 죄송합니다. 더보기
Reuent 포스트 연기. 2 / 6 에 친척분 뵈러 대구 내려갑니다. -_-;; 아마 월요일쯤에 포스팅 가능할 것 같네요. 더보기
Algorithm #2. Search algorithm. - 2.5 Red-Black Tree (2). Red-Black Tree 두 번째 포스트입니다. 이번엔 Red-Black Tree 의 회전에 대해서 알아볼까요. 앞서 Red-Black Tree 의 유지조건에 대해 언급드렸을 겁니다. Introduction to Algorithms 의 Red-Black Tree 절에 따르면 다음과 같은 정의가 성립해야 하죠. 1. Every node is either red or black. 모든 node 는 적색 혹은 흑색이다. 2. The root is black. root 는 흑색이다. 3. Every leaf is black. 모든 leaf 는 흑색이다. 4. If a node is red, then both its children are black. 만약 한 node 가 적색이라면, 이 node 의 두 자식은.. 더보기