POJ-1566: Haiku Review
問題概要=解法
母音の数を数えるだけ。
#include <cstdio> #include <cstring> using namespace std; char line[1025]; bool isVowel[0x100]; int solve(){ int n = strlen(line), state = 1, cnt = 0; for(int i=0; i<n; i++){ if(line[i] == '/'){ if(state == 1 && cnt != 5) return 1; else if(state == 2 && cnt != 7) return 2; else{ state++; cnt = 0; } } if(isVowel[line[i]] && !isVowel[line[i+1]]){ cnt++; } } return cnt == 5?0:3; } int main(){ isVowel['a'] = isVowel['i'] = isVowel['u'] = isVowel['e'] = isVowel['o'] = isVowel['y'] = true; while(scanf(" %[^\n]",line), strcmp(line,"e/o/i")){ int ans = solve(); if(ans) printf("%d\n",ans); else puts("Y"); } return 0; }