かくよスマートフォン用の表示で見るいろいろかくよこの広告は、90日以上更新していないブログに表示しています。日は情報オリンピックの予選ですね!!!ということで、あんまり見かけなかった入出力について書こうと思います。はじめに情報オリンピックの予選ではプログラムを提出し、向こうのサーバーで実行して正誤判定をするのではなく、与えられた入力ファイルに対する出力ファイルを提出します。これで問題なのがファイルで与えられてファイルで出力するってところ。標準入力でもなければ標準出力でもないです。(たぶん予選当日になってファイルで入出力する方法調べるのめんどい!ファイルで入出力させるために色々書くのめんどい!というあなたにリダイレクトという技を教えようと思います。(あと、コードを書いてファイル入出力する感じでやってしまうといちいちファイル名を書き直して実行しなおさないといけないのでめんどうというのもあります)(頭良い方法があるのかもしれないが知らない)リダイレクトとはリダイレクトとは:プログラムの入力元や出力先を通常とは違うものに変更すること。出力するように出来るよってことですね。実際に書いた時の実行例を一度示します。あとあときちんと解説します。2012-yo-t1-out5.txtこんな感じでしょうか。サンプルの下り書く必要あったのかは疑問ですが一応。この部分がリダイレクトです。いうのが出力ファイルです。この時のコードの中身はファイル入出力なんかしていなくて、普通に使うように標準入出力してます。「<」の右側にあるファイルを標準入力として実行ファイルに与えて、「>」の右側にあるファイルに標準出力をする、といった感じです。(ちなみに、出力ファイルに存在しないファイル名を指定した場合そのファイルを作ってくれます。回も実行したらどこかで数字間違えるよ!!!という人居ませんか?(わたしはそうです)ということでシェルスクリプト書きました。シェルスクリプトファイル名を固定していますが、例年この形なので今年もきっとこれだと思います。なかったら、合うように調整してください。Cygwinなどなど書いたものはこれです。なく、問題毎に実行ファイルの名前を変えている場合はそのファイル名にしてください。いうボタンがあるとおもうのでそこからダウンロードして、名前を「[任意の英数字からなる文字列].sh」にしてください。ないと動かないと思います。使い方は以下の通りです。保存されているとします。