Welcome to touyou note!!

こんにちは。touyouです。touyou noteは、creativeな人間を志すちっぽけな学生が様々なことに体当たりするブログです。
どうぞお楽しみ下さい。

Twitter: @touyoubuntu
HomePage: TOUYOUBUNTU

検索用ワード

PC Linux Windows Cygwin Android Python Java C/C++ C# HTML Processing Lisp Perl Arduino Japanino Unity Google TopCorder Codeforces Vim Emacs Github PSP Gundam Soccer Mobile Dialy Study Music ...

2011年3月26日土曜日

プログラミングコンテストの標準入力

こんにちは。

今日は新しいアプリを開発してプログラミング楽しんでたわけですが・・・


標準入力ってどうやればいいんだ?

みたいな感じでJOIの過去問とかTopCoder以外のプロコンに手を出していなかったのですがまぁ解決したので(笑)




とりあえずココはpythonから。

たとえばpythonから
1 2
3 4
みたいなものを標準入力でするとき便利なのは…

a, b = map(int, raw_input().split())
c, d = map(int. raw_input().split())

でaに1、bに2…のように代入できます。
参考サイト

さて、お次はJavaです。
とりあえず普通の上みたいなことをやろうとすると…
import java.util.Scanner;

class Sample {
  public static void main(String[] args) {
    Scanner stdIn = new Scanner(System.in);
    int a = stdIn.nextInt();
  }
}
と、まぁ入門書上がりの愚直な人は考えて(←俺w)ネットを放浪することになりますが、これはどっちかっていうとBufferedReader使ったほうが参考サイトも多くていいわけですね(笑)
import java.io.*;

class Sample {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String[] str = br.readLine().split(" ");
  }
}
また、こっちはファイル入出力にしてみたときに・・・はやい(コチラ
import java.io.*;

class Sample {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new FileReader(args[0]);
    BufferedWriter bw = new BufferedWriter(new FileWriter(args[1]);
    String[] str = br.readLine().split(" ");
    for (int i = 0;i < str.length; i++) bw.write(str[i]);
    bw.close();
    br.close();
  }
}
こうすると第一引数のテキストファイルからよみだして第二引数のテキストファイルにコピーするといったことができます。 これ応用すれば楽にプロコンいけますよね(笑) 多分実際に提出するときは・・・どっちがいいのかな? おまけでcを
scanf("%d %d", &a ,&b);
簡単ですね(笑)

0 件のコメント:

コメントを投稿