どんな言語が使えるの?
使用できる言語は C, C++, C#, C++11, D, Java, Python, Ruby, PHP, JavaScript
SublimeText2って何?
今流行りのテキストエディタ、まだ使って無い人はここを見てその素晴らしさに開眼しよう
Sublime Text 2ってエディタがすごくイイ。Dreamweaverから乗り換えた時の初期設定とか使い方とかをメモ
リンク切れたようなので違うサイトを紹介
@Accent さんありがとうございます。
”恋に落ちるエディタ”「Sublime Text」 完全入門ガイド!
AOJって何?
Aizu Online Judgeの略
出題される問題をプログラムを組んで解き、合否を判定してくれるサイト
問題のタイトルは英語だけど、中身は日本語もあるので即Uターンだけはどうか勘弁してやってください
はじめに
・SublimeText2のインストール
・AOJのアカウント作成
この2つをやっておいてください
SublimeText2のPluginをインストール
Aizu Online Judge のPluginをインストールします
インストール方法はリンク先のREADMEを見てください
settingsファイルのUserNameとPasswordの変更をお忘れなく
問題を解いて、AOJにsubmitする
・問題の選択
PROBLEMにカーソルを合わせると問題セットが出ます
まずはその中にあるVolume100
の10000:Hello World
を解いてみます
・プログラム作成
SublimeText2を開いて、ctrl+shift+p
でCommand Paletteを表示し
AizuOnlineJudge: Create File
を選択、下にInput Panelが表示されるので使用する言語を入力します
右下を見て使用する言語になっているか確認してください、この例ではRubyを使っています
・AOJにsubmit
ctrl+shift+p
でCommand Paletteを開きAizuOnlineJudge: Submit for Prompt
を選択、Input Panelにこの問題のProblemNo 10000
を入力します
ファイルを保存しながらやりたい場合は、ファイル名にProblemNoをつけてAizuOnlineJudge: Submit
を使うとファイル名から判断してsubmitします
・Volume0とか問題文英語だよ?
メンドクサイけどJapanese version hereから日本語問題へジャンプしてください
・人のソースが見たい
右上の虫眼鏡のアイコンをクリックするとアカウント作るときにSource Code Policy:publicを選択した人のソースを見られます
説明は以上です、れっつえんじょいAOJらいふ!
コンパイラとシステムの詳細
言語 | コンパイラ |
---|---|
C | gcc 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC) |
C++ | gcc 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC) |
C++11 | gcc 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC) |
JAVA | java: version 1.6.0 |
C# | C# mono 2.10.5 |
D | DMD64 D Compiler v2.059 |
Ruby | Ruby 1.8.7 |
Python | Python 2.7.2 |
PHP | PHP 5.3.14 |
JavaScript | Node.js 0.8.16 |
Tips
・入力は入力関数を使う
・順番に出力~と書かれていてもすべて入力してから出力する必要はありません、順次出力してOK
・複数行のスペース区切りを取得する方法
while( scanf("%d %d", &a, &b) != EOF )
while( cin >> a >> b )
Scanner sc = new Scanner(System.in);
while( sc.hasNext() ){
String[] line = sc.nextLine().split(" ");
int a = Integer.parseInt(line[0]);
int b = Integer.parseInt(line[1]);
}
string line;
while ( !string.IsNullOrEmpty(line = System.Console.ReadLine()) ) {
string[] ab = line.Split(' ');
int a = Convert.ToInt32(ab[0]);
int b = Convert.ToInt32(ab[1]);
}
while( readf("%d %d\n",&a,&b) ){
}
# nilの時0を返すので、whileの条件でgets.to_iはしない
while line = gets do
a,b = line.split.map(&:to_i)
end
for line in sys.stdin.readlines():
a,b = map(int, line.strip().split())
while( TRUE ) {
fscanf(STDIN, "%d %d", $a, $b);
if( feof(STDIN) )
break;
}
・複数行のカンマ区切りを取得する方法
scanf("%d,%d", &a, &b)
int a, b;
char c;
// cはカンマを抜く為の変数
cin >> a >> c >> b
Scanner sc = new Scanner(System.in);
while( sc.hasNext() ){
String[] line = sc.nextLine().split(",");
int a = Integer.parseInt(line[0]);
int b = Integer.parseInt(line[1]);
}
string line;
while ( !string.IsNullOrEmpty(line = System.Console.ReadLine()) ) {
string[] ab = line.Split(',');
int a = Convert.ToInt32(ab[0]);
int b = Convert.ToInt32(ab[1]);
}
line = gets
a,b = line.split(',')
line = sys.stdin.readlines()
a,b = map(int, line.strip().split(','))
DとPHPのカンマ区切りの上手い方法がわからなかったので、誰か編集リクエストくれたらとっても嬉しいな
これよりこっちのほうがいいよ、もよかったら教えてください