2009/06 11

2009 정보올림피아드 지역본선 문제 Review (2)-1

2번 문제는...ㅅㅂ 작년에 처음 정올 나갔을 때 메모리 관리하다가 병신이 된 까닭에 (그 때 malloc 쓰는 다 된 코드였는데 얘가 오버플로. 안 했으면 통과였다.) 그래서 올해는 아예 메모리 관리는 생각도 안 하고 나갔다. 근데 낭패. 탑 KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다. 실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고, 각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게 수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다. 하나의 탑에서 발사된 레이저 신호는 가장 먼저 만나는 ..

환타 오목 게임 재구성. (3)

일단 지난 번에 제가 바꿔 놓은 코드에 좀 문제가 있습니다. 누가 이겼는지 안 나오더군요.. 잘 되더니 왜 그러지;; 뭐 좀 바꿨더니 다시 됩니다만. /* five_in_a_row.h * by ZFanta & UNique */ #ifndef FIVE_IN_A_ROW #define FIVE_IN_A_ROW #include "tool.h" #define UP 72 #define DOWN 80 #define LEFT 75 #define RIGHT 77 #define ENTER 13 #define ESC 27 #define BOARD_SIZE 19 int x = 0, y = 0; int oldx = 0, oldy = 0; int board[BOARD_SIZE][BOARD_SIZE]; int turn = 1; c..

스킨 계속 바꾸는 중.

끄응. 1. 소스를 올려도 벗어나지 않을 만큼 충분히 넓은 건 필수. 2, 난 그래도 3단이 좋고.... 3. Moving Box 괜찮은 것 같은데 내 취향보다 좀 단순해. 4. 색깔은 개인적으로 Life Stand B나 crystalBlue가 좋은데 너무 좁아. 5. 사이드바도 달고 싶다능. Divergence 계속 쓰려다 관뒀지. 6. Daily T가 괜찮은데... 얘가 제목을 소화를 못 한다. 그냥 하나 만들어 버릴까. (

System Idle Talks 2009.06.13

블로그에 8086 어셈블러 (NASM) 게시하기

앞쪽에서 말한 바가 있지만, 이건 그냥 이렇게 따로 써 놓는 게 나을 것 같아서 말입니다. 1. SyntaxHighlighter를 설치합니다. 설치되어 있으면... 뭐. 그렇죠. 설치하시려면, 뭐 들보 님의 지나간 덧글에도 있지만, 블루앤라이브 님의 포스트 http://zoc.kr/547 가 큰 참고가 될 겁니다. 2. 티스토리라면, 압축을 푼 파일을 업로드하고 HTML/CSS 편집에 이런 코드를 추가하셨겠죠? 그러면 좀 더 바꿔 주시면 됩니다. 강조한 부분 중 는 새로 들어갈 코드입니다. 는, 취향에 따라서 css 파일 중 원하는 모양을 고를 수 있는 부분이고요. 그리고 제가 위에 첨부한 파일도 업로드하셔야 합니다:D 그니까 실제로 이미 설치하신 분이 syntax brush 추가하시려면, 그냥 부분 넣..

System Idle Talks 2009.06.10

환타 오목 게임 재구성. (2)

지난번 글에서는 move() 함수는 'move'답게 만들고 다른 함수가 move()를 반복하여 한 판을 조정하여, main()에서는 판을 반복하게 했습니다. 물론 제가 five_in_a_row()에 단 주석과 약간 다릅니다. 제 주석에 따르면 플레이어가 재경기를 원할 때 재경기를 시켜 줘야 합니다. 게다가 원래 게임과도 약간 달라져 버렸지요. 그.러.나. 그 점은 미뤄 두고, 일단 다른 부분을 시작하도록 하죠. (-_-ㅗ;;) 이번에는 판을 그리는 부분을 바꾸어 보겠습니다. switch-case 부분이 너무 길어서 저 내부를 한 함수로 빼낼 수 있으면 좋겠군요. #define BOARD_SIZE 19 void board_write(int x, int y) { x *= 2; gotoxy(x, y); if ..

_MSC_VER

호환성 프로그램 어쩌구 해서 알 만한 분은 다 아는 MS Visual C++의 컴파일러 자체 매크로 상수이다. VC++4.0: _MSC_VER = 1000 VC++5.0: _MSC_VER = 1100 VC++6.0: _MSC_VER = 1200 VC++7.0: _MSC_VER = 1300 VC++8.0: _MSC_VER = 1400 VC++9.0: _MSC_VER = 1500 VC++에는 각 버전에 따라 이 값이 다르게 정의되어 있다. 이를 이용해 gcc나 g++와 호환인 코드를 짜거나 표준에 어긋나지 않는 코드를 만들 수 있다. #include int main() { #if defined(_MSC_VER) && (_MSC_VER < 1500) __int64 i64 = 0x57bf406691032708;..

환타 오목 게임 재구성. (1)

지환태 님의 미니홈피에서 가져온 오목 게임입니다. 상당히 끌려서 말입니다-_-; 도와드리지 않고는 못 배기겠더군요.(?) 일단 아래는 원본. /* http://zfanta.com/entry/C언어로-오목만들기-5-마지막 * 이 오픈 소스 코드의 저작권은 지환태 님에게 있습니다. */ #include #include #define UP 72 #define DOWN 80 #define LEFT 75 #define RIGHT 77 #define ENTER 13 int x=0,y=0; int oldx=0,oldy=0; int board[38][19]; int turn=1; char who[3][3]={"","흑","백"}; char stone[3][3]={"","○","●"}; void gotoxy(int, i..