KUPC 2011 A: KUPC
問題概要
文字列が与えられる(strlen < 300)。その中からK,U,P,Cという文字を使ってKUPCという文字列をいくつ作ることができるか求める問題。
考えたこと
- minとるだけに見える。
- A問題だし罠とかないよね。
- 個人戦でのオンサイト参加は初めてで、緊張感からタイポ連発したけど無事通った。
本番で通ったコード
計算量O(strlen)。
#include <cstdio> #include <algorithm> using namespace std; char buf[309]; const int INF = 1<<29; int main(){ scanf("%s", buf); //K, U, P, Cをカウントする int K=0, U=0, P=0, C=0; for(int i=0; buf[i]; i++){ char ch = buf[i]; if( ch == 'K') K++; if( ch == 'U') U++; if( ch == 'P') P++; if( ch == 'C') C++; } int ans = INF; ans = min(ans, K); ans = min(ans, U); ans = min(ans, P); ans = min(ans, C); printf("%d\n", ans); return 0; }