ページ

2012/04/15

[競技プログラミング][C言語][AtCoder]センター採点

センター採点

時間制限 : 2sec / スタックサイズの制限 : 10MB / メモリー制限 : 64MB

問題文

高橋君はセンター試験を受けました。
センター試験の各々の問題は 1 から 4 までの選択肢があります。
高橋君はあまり勉強をしていなかったので、全ての問題で同じ選択肢を選びました。
試験終了後、センター試験の解答が与えられましたが、高橋君は何番を選んだのかを忘れてしまいました。
しかし、高橋君は自分の点数が気になります。
そこで、高橋君のため、高橋君が正解する問題の数として考えられる最小と最大の数を求めるプログラムを書きなさい。

入力

入力は以下の形式で与えられる。
N
c_1c_2c_3…c_N
  • 1 行目は、センター試験の問題の数を表す整数 N (1 ≦ N ≦ 100) が与えられる。
  • 2 行目は、センター試験の解答を表す N 文字の文字列が与えられる。
    この文字列の i 文字目 (1 ≦ i ≦ N) の文字 c_i (c_i1234 のいずれかである) は、
    i 番目の問題の正解が c_iであったことを表す。

出力

高橋君が正解する問題の数として考えられる最小と最大の数を空白区切りで 1 行に出力せよ。

出典

センター採点 - AtCoder Regular Contest #001 | アットコーダー

回答

AtCoder/arc001_1.cpp at master · wada811/AtCoder · GitHub
ぶっちゃけ一行目あんまり必要じゃないですよね。
他のクリアしてる人も読み捨ててる人いたし。
結構ちゃんと必要メモリとか考えないで富豪的プログラミングしてると
問題数が多いサンプルで弾かれる。
昨日はロジックはあってるはずなのに!とハマった。
ちゃんと高速で省メモリなプログラムを組むように
アルゴリズムをしっかり勉強しなくてはと思いました。