/* date:107/10/20 author:Chen Yi Jing 算手指按按鍵拿起來的次數,共十指 */ #include #include using namespace std; int main (){ int n = 0; cin >> n; string ss; getline(cin, ss); //do nothing //case by case for (int i = 0; i < n; i++) { string s; int before[11] = {0}; int after[11] = {0}; int finger[11] = {0}; getline(cin, s); // cin >> s; if(s[0] == 1){ cout <<"qq"; } for (int j = 0; j < s.length(); j++) { //判斷指法 switch(s[j]) { case 'c': after[1] = 0; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 1; after[8] = 1; after[9] = 1; after[10] = 1; break; case 'd': after[1] = 0; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 1; after[8] = 1; after[9] = 1; after[10] = 0; break; case 'e': after[1] = 0; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 1; after[8] = 1; after[9] = 0; after[10] = 0; break; case 'f': after[1] = 0; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 1; after[8] = 0; after[9] = 0; after[10] = 0; break; case 'g': after[1] = 0; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 0; after[8] = 0; after[9] = 0; after[10] = 0; break; case 'a': after[1] = 0; after[2] = 1; after[3] = 1; after[4] = 0; after[5] = 0; after[6] = 0; after[7] = 0; after[8] = 0; after[9] = 0; after[10] = 0; break; case 'b': after[1] = 0; after[2] = 1; after[3] = 0; after[4] = 0; after[5] = 0; after[6] = 0; after[7] = 0; after[8] = 0; after[9] = 0; after[10] = 0; break; case 'C': after[1] = 0; after[2] = 0; after[3] = 1; after[4] = 0; after[5] = 0; after[6] = 0; after[7] = 0; after[8] = 0; after[9] = 0; after[10] = 0; break; case 'D': after[1] = 1; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 1; after[8] = 1; after[9] = 1; after[10] = 0; break; case 'E': after[1] = 1; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 1; after[8] = 1; after[9] = 0; after[10] = 0; break; case 'F': after[1] = 1; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 1; after[8] = 0; after[9] = 0; after[10] = 0; break; case 'G': after[1] = 1; after[2] = 1; after[3] = 1; after[4] = 1; after[5] = 0; after[6] = 0; after[7] = 0; after[8] = 0; after[9] = 0; after[10] = 0; break; case 'A': after[1] = 1; after[2] = 1; after[3] = 1; after[4] = 0; after[5] = 0; after[6] = 0; after[7] = 0; after[8] = 0; after[9] = 0; after[10] = 0; break; case 'B': after[1] = 1; after[2] = 1; after[3] = 0; after[4] = 0; after[5] = 0; after[6] = 0; after[7] = 0; after[8] = 0; after[9] = 0; after[10] = 0; break; default: break; } //判斷是否要加按下去的次數,還有將 before 更新 for (int k = 1; k < 11; k++) { if (before[k] == 0 && after[k] == 1) { finger[k]++; before[k] = 1; } else if (before[k] == 1 && after[k] == 0) { before[k] = 0; } } } for (int k = 1; k < 10; k++) { cout << finger[k] << " "; } cout << finger[10]; cout << endl; } }