11개의 댓글이 있습니다.
-
-
nocut98 -
강력한 사생활검색기 구글님을 이용하여 bmerry resume라고 치시면 첫줄에 이런 url이 뜹니다
http://people.cs.uct.ac.za/~bmerry/cv.pdf
수상 내역을 보시면 후덜덜 이라는...그치만 제일 놀라운 건 나이...에욤....
16년 전 link
-
-
-
nocut98 -
아레나가 업그레이드 되면서 TZTester가 쓰던 api 를 안 쓰고 뭐 이런저런 일이 있었나 봅니다.
http://forums.topcoder.com/?module=Thread&threadID=597840&start=0
여기에 관련내용이 있구요.
http://forums.topcoder.com/?module=Thread&threadID=597885&start=0
여기에 새 버전의 jar가 있습니다
http://tc.bzium.org/TopCoder/TZTester.jar
다운은 여기서 받으시면 됩니다.
16년 전 link
-
-
-
Taeyoon_Lee -
저는 왜 test code가 안 생길까요..?? 새 버전으로 받았는데.. 설마 제가 VC를 안 쓰고, gVim을 써서 그런 건 아니겠죠..??
16년 전 link
-
-
-
Taeyoon_Lee -
test code는 어디서 복사하죠..? 안 생기는데요ㅠ 그저 TESTCODE 이렇게만 뜨고..
15년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
nocut98
처음에 개발창을 키면, IDE를 쓰던 사람들은(물론 vi 에디터를 쓰던 사람이라고 기본 개발창이 편할지는...먼산) 상당히 불편하죠.
그래서 이번에는 C++ 언어를 VC++을 통해서 쓰던 사람들을 위해서 plugin 설정 방법에 대해서 알아보려고 합니다.
[ 개발 환경 ] visual.c++2005 + visual assist X + plugins(FileEdit, TZTester 1.01, CodeProcessor)
plugins를 통해서 아레나 안의 문제와 예제를 컴퓨터 파일 안의 *.cpp 파일로 만들어서 VC++로 컴파일 및 테스트 하고 다시 아레나에 올려서 컴파일 해서 제출하는 방식을 취하게 됩니다.
[ 간단한 소개 ]
아레나 : 탑코딩을 하기 위해서 들어가는 자바 어플릿
visual.c++2005 : for(int i=0;;) for(int i=0;;) {} 같은 문법이 아레나에서는 컴파일 되고 vc++6.0에서는 컴파일 안되었지만, 2005에서는 컴파일 됩니다(원활한 코딩을 위해서 6.0보다 2005를 쓰는 게 좋겠죠) 설치 하실 때는 vc++만 깔면 1기가 정도로 깔려요- (쓰잘데 없는 다른 것들은 즐~ -_-)
visual assist X : 갠적으로 생각하는 최고의 VC++ plugin입니다. 쓰다보면 중독되서 비줠어시스트 없는 세상은 살기가 싫어진다는... ㅠ_ㅠ 대표적인 기능으로는 자동완성, 문법 틀린 거 밑줄, 선언부 찾아가기, 파일내 함수 이동, .cpp .h 이동 등등이 있습니다
plugins(FileEdit, TZTester 1.01, CodeProcessor) : FileEdit은 문제를 cpp파일로 만들어 주고, TZTester는 파일 안에 예제 테스트를 가능하게 해줍니다. CodeProcessor는 앞에 2개를 합쳐줍니다.
[ 설치 ]
일단 1.jar파일을 저장할 폴더, 2. 문제 cpp 파일들이 나올 폴더를 만들어 둡니다.
참고로 저는 1. C:\topcoder\plugins 2. C:\topcoder 라는 폴더를 만들어 두었습니다.
(이후에 폴더의 디렉토리가 바뀌면 안되기 때문에 C드라이브의 폴더를 이용했습니다)
이제 FileEdit, TZTester 1.01, CodeProcessor 의 jar파일을 받아서 1.jar파일을 저장할 폴더에 저장합시다.
jar파일 받는 곳 + 각 plugin 설명: http://www.topcoder.com/tc?module=Static&d1=applet&d2=plugins
자 이제 아레나를 킵니다.
친숙한 아레나 창 , 어둠깜장의 포스-
이제 Option – Editor 창을 클릭합니다 (무척 세심한 설명 ㅋㅋㅋ)
방에 제가 좋아하는 간지 좔좔 Target “82년생” bmerry가 보이는 군요. MB__는 맨날 있는 친구, 대선도 끝났는데 이제 그만-
클릭 하면 아래와 같은 창이 뜹니다.
썰렁 하네요. Standard를 빼고 딴 건 지워 버리세요. Kawigiedit같은 거요(참고로 안 지워도 전혀 상관 없습니다) 좌측 하단에 Add 버튼을 클릭합니다(이것도 캡춰 뜰려다 참았습니다 ㅋㅋ)
보이는 것처럼 적어줍니다. ClassPath는 각자 jar파일이 있는 위치로 설정하면 됩니다.오- 추가 되었네요
Configure를 눌러서 cpp파일이 나올 위치를 적어 줍니다(상단에 C:\topcoder라고 되어 있는 부분)
코드 템플릿은 조금 있다가 건드려 보죠(부록A로 제 Template를 적어놨습니다)
이번에는 Code processor와 TZTester를 한꺼번에 추가할 차례입니다. 바로 전 화면(Editor Preference)에서 다시 Add 버튼을 클릭합니다. 그리고 아래와 같이 입력합니다
!! 매우 주의할 점: ClassPath에는 fileedit, TZTester, codeprocessor의 3개의 jar를 모두 넣어 줍니다. Browse버튼을 여러 번 클릭하면 됩니다(가끔 저처럼 어떻게 여러 개를 동시에 추가하는 지 모르는 한심한 사람들이 있습니다) OK버튼을 클릭하고, 잘 추가되었으면 다시 Configure버튼을 눌러서 설정을 합니다.
Editor와 Processor class의 시작 위치를 적어줍니다(그냥 똑같이 적어주시면 됩니다. Verify 버튼 한 번 눌러 주시구요. Save나 Close 눌렀을 때 에러 메시지 뜨면, ClassPath에서 포함을 안 시켜줬을 확률이 높아요.
아래와 같은 화면이 보이면 됩니다.
와- 드디어 기나긴 여정의 중간 까지는 왔습니다.
Save하고, 닫은 담에 문제를 하나 열어보아요- ( SRM 146 Div 2 – 1000 문제 )
평소랑 다릅니다.
코딩 Area에 코딩을 할 수가 없네요 ㅡ.ㅜ; 당황하지 말고, C:\topcoder로 갑니다.
더블 클릭해서 파일을 열면, 컴파일이 안됩니다(이거 방법 아시는 분 있으면 알려주세요 굽신굽신)
그래서 그냥 빈 프로젝트를 하나 만들어서 cpp 파일을 추가합니다. 저 같은 경우는 topcoder 디렉토리에 빈 프로젝트 만들어 놓고 필요한 cpp파일만 추가해서 쓰고 있습니다(좌측 solution 창에서 파일을 add합니다)
Visual assist는 그냥 까시면 됩니다. 가격은 15만원 정도 합니다(돈 없는 저 같은 분들은 인터넷을 잘 뒤져봅시다 참고로 전 visual assist X 10.4.1619 버전을 사용했습니다;;;)
코딩하고 컴파일 하고, 실행 하면 아래와 같이 테스트 까지 됩니다.
잘 되었네요 (당연히 이미 짜놨던 코드니까 ㅋㅋㅋ) 테스트까지 한 번에 다 해주다니- ㅠ_ㅠ
게다가 이렇게 되면 VC++의 디버깅을 이용할 수 있기 때문에 나중에 좀 코드가 긴 문제에서 디버깅 할 때 편리하게 사용할 수 있겠네요 ^^
요기서 컴파일 하고, 서밋 합니다(IDE에서 컴파일하고 서밋까지 되면 얼마나 좋을까요 ㅋ)
잘 되었습니다. 이것으로 드디어 캡춰때문에 길었던 plugin 설정이 끝났습니다.
개인적으로는 VC++ + Visual assist 조합을 애용하다가 카위기 에딧으로는 뭔가 불편해서 장애인 느낌이 계속 났었는데 VC++에서 코딩 할 수 있어서 너무 좋습니다.
단점: 한번 저장했다가 열면, 저장되었던 코드를 가져와서 테스트 코드가 없어지네요
다른 설명: http://www.topcoder.com/wiki/display/tc/How+to+install+The+Arena+plug-ins
덧1 : 혹시 "cannot instantiate tangentz.EntryPoint, java.lang.ClassNotFoundException: tangentz.EntryPoint" 요런 메시지가 보이면 다시 다운 받으면 된다고 합니다.
[ 부록 A ] : Editor Code Template
별 건 없고, 처음에 문제 설명이 같이 있는데, 문제 설명은 빼버리거나 /* */ 주석으로 잘 감싸주시면 될 껍니다.
BEGINCUT
/*
PROBLEMDESC
*/
ENDCUT
#line NEXTLINENUMBER "FILENAME"
#include
#include
#include
#define pb push_back
#define mp make_pair
#define sz(v) ((int)(v).size())
#define f(i,a,b) for(int i=(a);i<(b);++i)
#define r(i,n) f(i,0,n)
#define fe(i,a,b) for(int i=(a);i<=(b);++i)
#define re(i,n) fe(i,0,n)
#define fsz(i,a,v) f(i,a,sz(v))
#define rsz(i,v) r(i,sz(v))
#define all(v) v.begin(),v.end()
#define set(x,with) memset(x,with,sizeof(x))
string itoa(int i) { stringstream ss; ss<<i; return ss.str(); }
#define same(a,b) (fabs((a)-(b))<0.0000001)
#define even(a) ((a)%2==0)
#define odd(a) ((a)%2==1)
class CLASSNAME {
public:
RC METHODNAME(METHODPARMS) {
RC rr;
return rr;
}
TESTCODE
};
16년 전