bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기

가정 조건



atcoder-cli 및 online-judge-tools 설치

설치되지 않은 분은 여기을 참조하십시오.

내 환경



우분투18.04

내 AtCoder 용 디렉토리 개요




┣ AtCoder
 ┣ ABC160
    ┣ a.cpp
    ┣ b.cpp
    ┣ c.cpp
      ︙
 ┣ ABC161
 ┣ ABC162
    ︙
 ┣ Contest//콘테스트용 디폴트 디렉토리

위 그림과 같이 되어 있습니다. 자세히 보고 싶은 분은 여기

소개



본 페이지에서 소개하는 함수들은,
내가 사용하기 쉽다고 느끼는, 나의 나에 의한 나를 위해서만의 함수들입니다.
또한 내가 콘테스트에 C++에서만 참여한 영향으로 C++에만 대응하고 있습니다.

불편하게 느끼는 곳은 좋아하게 개조해 각자 행복하게 되어 주세요.
어딘가의 누군가의 참고가 되면 다행.

그런 것입니다.

했던 일



bashrc로 함수를 여러가지 만들어 정평의 커멘드를 한 번에 실행할 수 있도록(듯이) 했습니다.
이 기사에서는 코드와 명령의 의미, 역할 등의 설명을 생략합니다.

이하, 만든 함수를 4개 소개합니다.

1. 콘테스트용 디렉토리를 만들고 그 디렉토리를 Atom에서 여는 함수



.bashrc
function accdir () {
    cd ~/AtCoder/;
    cp -a Contest/ $1;
    atom $1;
    cd $1;
}
alias acd=accdir

사용방법



아래 이미지와 같이
acd ABC178

같은 느낌으로 박는 것으로,
"AtCoder"디렉토리 안에 "ABC178"라는 디렉토리를 새롭게 만들고,
그 디렉토리를 Atom에서 열고, 단말에서는 “ABC178” 디렉토리로 이동하고 있습니다.


2. 코드 테스트, 코드 제출용 디렉토리를 만드는 함수



atcoder-cli 기능으로 코드 테스트 및 코드 제출 디렉토리를 만듭니다.
왜 일부러 디렉토리명을 “s”로 바꾸고 있는 것인가. 그 이유는 다음과 그 또 다음의 함수를 보면 알 수 있습니다.

.bashrc
function accnew () {
    acc new $1;
    mv $1 s;
}
alias acn=accnew

사용방법



왼쪽 하단 이미지와 같이 이전의 acd 명령으로 만든 디렉토리에서
acn abc178

를 입력하면 ABC178의 다운로드 문제를 지정하라는 메시지가 표시됩니다.
거기에서 선택하고 Enter를 누르면,
오른쪽 하단의 이미지처럼 다운로드되어 디렉토리가 생성됩니다.

이 명령은 atcoder-cli의 특성상 콘테스트가 시작된 후에만 사용할 수 있으므로 주의하십시오.
(이미 종료된 콘테스트에서는 문제없이 사용할 수 있습니다.)


3. 코드를 제출하는 함수



.bashrc
function accsubmit () {
    path=$PWD;
    cpp='.cpp';
    name=$1${cpp};
    cp ${name} s/$1/;
    cd s/$1;
    acc submit ${name};
    cd;
    cd ${path};
}
alias acs=accsubmit

사용방법



아래 그림과 같이 acd 명령으로 만든 디렉토리에서
acs a

등으로 몰아넣으면 문제 제출이 가능합니다.
첫 번째 인수에 a 를 넣으면 a문제를 제출. b 를 넣으면 b문제를 제출할 수 있습니다.

이런 느낌.




4. 코드를 테스트하는 함수



.bashrc
function acctest () {
    path=$PWD;
    cpp='.cpp';
    name=$1${cpp};
    cp ${name} s/$1/;
    cd s/$1;
    g++ ${name};
    oj t -d ./tests/;
    cd;
    cd ${path};
}
alias act=acctest

사용방법



아래 그림과 같이 acd 명령으로 만든 디렉토리에서
act a

등으로 박는 것으로, 테스트 케이스의 검증을 할 수 있습니다.
첫 번째 인수에 a를 넣으면 a 문제를, b를 넣으면 b 문제를 테스트 할 수 있습니다.

이런 느낌.


사이고에게



여기 로 수시로 갱신한 것을 들고 있으므로, 최신 버젼을 보고 싶은 분은 부디.

여러분도 편안한 bash 생활을 보내세요 ~!

그럼.

좋은 웹페이지 즐겨찾기