AOJ - 0049 - Blood Groups
http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0049
A,B,O,AB型のそれぞれの人数を数え上げて出力する問題
入力が [番号],[血液型] という形で与えられる
#include<iostream> #include<string> using namespace std; int main(){ string type; int t[4]={0}; while(cin>>type){ type+=" "; int i; for(i=0;type[i]!=',';i++); i++; if(type[i]=='A'&&type[i+1]=='B'){ t[2]++; }else if(type[i]=='A'){ t[0]++; }else if(type[i]=='B'){ t[1]++; }else if(type[i]=='O'){ t[3]++; } } for(int i=0;i<4;i++){ cout<<t[i]<<endl; } }
解法
必要な情報は[血液型]だけなので
"," までをどうにかして読み捨ててあとは数え上げる
scanfの読み捨てとかできるといいんだろうなと思うけど
とりあえずstringを回してみた