标签:
a tv ptoui bontres zoggax wiinq eep houctuh end
<a> is acceptable. <tv> is not acceptable. <ptoui> is not acceptable. <bontres> is not acceptable. <zoggax> is not acceptable. <wiinq> is not acceptable. <eep> is acceptable. <houctuh> is acceptable.
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); while (input.hasNext()) { boolean flag1 = false, flag2 = true, flag3 = true; String str = input.next(); if (str.endsWith("end")) break; char c[] = str.toCharArray(); // 第一个条件:必须包括至少一个元音字母 for (int i = 0; i < c.length; i++) { if (c[i] == 'a' || c[i] == 'e' || c[i] == 'i' || c[i] == 'o' || c[i] == 'u') { flag1 = true; break; } } // 第二个条件:不能包括三个连续的元音字母或者三个连续的辅音字母 int a = 0, b = 0; for (int i = 0; i < c.length; i++) { if (c[i] == 'a' || c[i] == 'e' || c[i] == 'i' || c[i] == 'o' || c[i] == 'u') { a++; if (a >= 3) { flag2 = false; } b = 0; } else { b++; if (b >= 3) { flag2 = false; } a = 0; } } // 第三个条件:不能包括两个连续同样的字母,除了'ee'和'oo'这两种情况除外 int i, j = 0; for (i = 1; i < c.length; i++, j++) { if (c[i] == c[j]) { if (c[i] == 'e' || c[i] == 'o') continue; else { flag3 = false; break; } } } if (flag1 && flag2 && flag3) { System.out.println("<" + str + "> is acceptable."); } else { System.out.println("<" + str + "> is not acceptable."); } } } }
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) throws Exception { Scanner cin = new Scanner(System.in); while (cin.hasNext()) { String str = cin.next(); if(str.equals("end")) break; Pattern p1 = Pattern.compile("[aeiou]{3}|[^aeiou]{3}"); Pattern p2 = Pattern.compile("([a-df-np-z])\\1"); Pattern p3 = Pattern.compile("[aeiou]+"); Matcher m = p1.matcher(str); boolean flag = false; if(!m.find()) { m = p2.matcher(str); if(!m.find()) { m = p3.matcher(str); if(m.find()) flag = true; } } if(flag) System.out.println("<"+str+"> is acceptable."); else System.out.println("<"+str+"> is not acceptable."); } cin.close(); } }
HDU-1039-Easier Done Than Said?(Java && 没用正則表達式是我的遗憾.....)
标签:
原文地址:http://www.cnblogs.com/mengfanrong/p/5184897.html