bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기
6994 단어 ShellScriptC++bashrcBashAtCoder
가정 조건
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에서 여는 함수
.bashrcfunction accdir () {
cd ~/AtCoder/;
cp -a Contest/ $1;
atom $1;
cd $1;
}
alias acd=accdir
사용방법
아래 이미지와 같이
acd ABC178
같은 느낌으로 박는 것으로,
"AtCoder"디렉토리 안에 "ABC178"라는 디렉토리를 새롭게 만들고,
그 디렉토리를 Atom에서 열고, 단말에서는 “ABC178” 디렉토리로 이동하고 있습니다.
2. 코드 테스트, 코드 제출용 디렉토리를 만드는 함수
atcoder-cli 기능으로 코드 테스트 및 코드 제출 디렉토리를 만듭니다.
왜 일부러 디렉토리명을 “s”로 바꾸고 있는 것인가. 그 이유는 다음과 그 또 다음의 함수를 보면 알 수 있습니다.
.bashrcfunction accnew () {
acc new $1;
mv $1 s;
}
alias acn=accnew
사용방법
왼쪽 하단 이미지와 같이 이전의 acd 명령으로 만든 디렉토리에서
acn abc178
를 입력하면 ABC178의 다운로드 문제를 지정하라는 메시지가 표시됩니다.
거기에서 선택하고 Enter를 누르면,
오른쪽 하단의 이미지처럼 다운로드되어 디렉토리가 생성됩니다.
이 명령은 atcoder-cli의 특성상 콘테스트가 시작된 후에만 사용할 수 있으므로 주의하십시오.
(이미 종료된 콘테스트에서는 문제없이 사용할 수 있습니다.)
3. 코드를 제출하는 함수
.bashrcfunction 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. 코드를 테스트하는 함수
.bashrcfunction 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 생활을 보내세요 ~!
그럼.
Reference
이 문제에 관하여(bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/takashi_rits/items/7ac4118d4526037a37f2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
본 페이지에서 소개하는 함수들은,
내가 사용하기 쉽다고 느끼는, 나의 나에 의한 나를 위해서만의 함수들입니다.
또한 내가 콘테스트에 C++에서만 참여한 영향으로 C++에만 대응하고 있습니다.
불편하게 느끼는 곳은 좋아하게 개조해 각자 행복하게 되어 주세요.
어딘가의 누군가의 참고가 되면 다행.
그런 것입니다.
했던 일
bashrc로 함수를 여러가지 만들어 정평의 커멘드를 한 번에 실행할 수 있도록(듯이) 했습니다.
이 기사에서는 코드와 명령의 의미, 역할 등의 설명을 생략합니다.
이하, 만든 함수를 4개 소개합니다.
1. 콘테스트용 디렉토리를 만들고 그 디렉토리를 Atom에서 여는 함수
.bashrcfunction accdir () {
cd ~/AtCoder/;
cp -a Contest/ $1;
atom $1;
cd $1;
}
alias acd=accdir
사용방법
아래 이미지와 같이
acd ABC178
같은 느낌으로 박는 것으로,
"AtCoder"디렉토리 안에 "ABC178"라는 디렉토리를 새롭게 만들고,
그 디렉토리를 Atom에서 열고, 단말에서는 “ABC178” 디렉토리로 이동하고 있습니다.
2. 코드 테스트, 코드 제출용 디렉토리를 만드는 함수
atcoder-cli 기능으로 코드 테스트 및 코드 제출 디렉토리를 만듭니다.
왜 일부러 디렉토리명을 “s”로 바꾸고 있는 것인가. 그 이유는 다음과 그 또 다음의 함수를 보면 알 수 있습니다.
.bashrcfunction accnew () {
acc new $1;
mv $1 s;
}
alias acn=accnew
사용방법
왼쪽 하단 이미지와 같이 이전의 acd 명령으로 만든 디렉토리에서
acn abc178
를 입력하면 ABC178의 다운로드 문제를 지정하라는 메시지가 표시됩니다.
거기에서 선택하고 Enter를 누르면,
오른쪽 하단의 이미지처럼 다운로드되어 디렉토리가 생성됩니다.
이 명령은 atcoder-cli의 특성상 콘테스트가 시작된 후에만 사용할 수 있으므로 주의하십시오.
(이미 종료된 콘테스트에서는 문제없이 사용할 수 있습니다.)
3. 코드를 제출하는 함수
.bashrcfunction 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. 코드를 테스트하는 함수
.bashrcfunction 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 생활을 보내세요 ~!
그럼.
Reference
이 문제에 관하여(bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/takashi_rits/items/7ac4118d4526037a37f2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
function accdir () {
cd ~/AtCoder/;
cp -a Contest/ $1;
atom $1;
cd $1;
}
alias acd=accdir
acd ABC178
function accnew () {
acc new $1;
mv $1 s;
}
alias acn=accnew
acn abc178
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
acs a
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
act a
여기 로 수시로 갱신한 것을 들고 있으므로, 최신 버젼을 보고 싶은 분은 부디.
여러분도 편안한 bash 생활을 보내세요 ~!
그럼.
Reference
이 문제에 관하여(bachrc로 무언가를 하고 AtCoder 대회 제출 등에 드는 비용을 최소화한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takashi_rits/items/7ac4118d4526037a37f2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)