プログラムをコードの途中で終わらせる

作成日:2017.11.01

カテゴリー:競プロに関するあれこれ

はじめに

 競プロにおいて、途中でプログラムを終了させることがある。 例えば、Yes/No判定問題でNoの条件を満たしたらその旨を出力して終わるというものだ。 当然if文を使って書くのだが、一刻を争う競プロにおいては中括弧を省略してしまいたくなる。 そこで、そのような方法を紹介する。

前提

 コードはすべてC++である。

本題

出力だけの場合

 工夫なしだと

if(hoge){
	cout << "NO" << endl;
	return 0;
}

となるが、コンマ演算子を用いると

if(hoge) return cout << "NO" << endl , 0;

と書ける。理論的にはいくつ処理があっても可能だが、2つ以上の処理をまとめるのはさすがにやりすぎな気がする。

複数の位置で同じ処理が行われる場合

 処理をhalt関数にまとめて

if(hoge) return halt();

とする。この時、halt関数は$0$を返すようにしておく。


<(古い記事) なぜ私はrepマクロを使っているのか

カテゴリー「競プロに関するあれこれ」

AtCoderで橙コーダになる方法(の一例) (新しい記事)>

<(古い記事) CODE FESTIVAL 2017 qual C

全体

DDCC 2017 本選 (新しい記事)>

自己紹介

プログラミングとか合成音声とか
詳しくはこちら
twitter

プライバシーポリシー

個人情報利用についてはこちら

最終更新日:2023.03.05

お問い合わせ

このページに関するお問い合わせはこちら

競技プログラミングMENU

問題を解くまでの道のり

その他

全体MENU

寄付モドキ

0冂から10000冂まで
詳しくはこちら