NowCoder每天要处理许多邮件,但他并不是在收件人列表中,有时候只是被抄送。他认为这些抄送的邮件重要性比自己在收件人列表里的邮件低,因此他要过滤掉这些次要的邮件,优先处理重要的邮件。
现在给你一串抄送列表,请你判断目标用户是否在抄送列表中。
输入有多组数据,每组数据有两行。
第一行抄送列表,姓名之间用一个逗号隔开。如果姓名中包含空格或逗号,则姓名包含在双引号里。总长度不超过512个字符。
第二行只包含一个姓名,是待查找的用户的名字(姓名要完全匹配)。长度不超过16个字符。
如果第二行的名字出现在收件人列表中,则输出“Ignore”,表示这封邮件不重要;否则,输出“Important!”,表示这封邮件需要被优先处理。
Joe,Kewell,Leon Joe "Letendre, Bruce",Joe,"Quan, William" William
Ignore Important!
import java.util.*; public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); while(scan.hasNext()){ String name = scan.nextLine(); int pos = 0; Set<String> s = new HashSet<>(); while(pos < name.length()){ if(name.charAt(pos) == '\"'){ int end = name.indexOf('\"',pos+1); //从pos+1位置往后查找第一个" String tmp = name.substring(pos+1,end); //截取[pos,end)之间的字符串 s.add(tmp); pos = end + 2; //到下一个名字的开头首字符 }else{ int end = name.indexOf(',',pos+1); //已经查到了最后一个名字,不是以,结尾 if(end == -1){ end = name.length()-1; s.add(name.substring(pos,end+1)); break; } String tmp = name.substring(pos,end); s.add(tmp); pos = end + 1; } } name = scan.nextLine(); if(s.contains(name) == true){ System.out.println("Ignore"); }else{ System.out.println("Important!"); } } } }
import java.util.Scanner; import java.util.ArrayList; public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNextLine()) { String str = in.nextLine(); String cur = in.nextLine(); ArrayList list = new ArrayList(); for (int i = 0; i < str.length(); i++) { String ret = ""; char c = str.charAt(i); // 1. 判断是"xxx"的情况 if (c == '"') { i++; while (i < str.length() && str.charAt(i) != '"') { ret += str.charAt(i); i++; } } else if (c == ',') { // 2. 判断是','打头的情况(可分两种) i++; if(str.charAt(i) == '"'){ // 2.1 ','号后面是"xxx"的情况 i++; while (i < str.length() && str.charAt(i) != '"') { ret += str.charAt(i); i++; } }else { // 2.2 ','后面是xxx的情况 while (i < str.length() && str.charAt(i) != ',') { ret += str.charAt(i); i++; } } } else { // 3. 已xxx开头的情况 while (i < str.length() && str.charAt(i) != ',') { ret += str.charAt(i); i++; } } list.add(ret); } if (list.contains(cur)) { System.out.println("Ignore"); } else { System.out.println("Important!"); } } } }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str = sc.nextLine(); String target = sc.nextLine(); char[] ch = str.toCharArray(); int flg = 0; List<String> list = new ArrayList<>(); String ret = ""; for(int i = 0;i < ch.length;i++){ if(flg == 0 && ch[i] == '"'){ flg = 1; list.add(ret); ret = ""; }else if(flg == 1 && ch[i] == '"'){ flg = 0; list.add(ret); ret = ""; } else if(flg == 1){ ret += ch[i]; }else if(flg == 0 && ch[i] != ','){ ret += ch[i]; } } list.add(ret); boolean temp = false; for(String ss : list){ if(ss.equals(target)){ temp = true; break; } } if(temp){ System.out.println("Ignore"); }else{ System.out.println("Important!"); } } } }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { String s = sc.nextLine(); String name = sc.nextLine(); char[] ch = s.toCharArray(); List<String> list = new ArrayList<>(); int flag = 0; String res = ""; for (int i = 0; i < ch.length; i ++ ) { if(flag == 0 && ch[i] == '"') { flag = 1; list.add(res); res = ""; } else if(flag == 1 && ch[i] == '"') { flag = 0; list.add(res); res = ""; } else if(flag == 1) { res += ch[i]; } else if(flag == 0 && ch[i] != ',') { res += ch[i]; } } list.add(res); boolean isFinded = false; for (String string:list) { if(name.equals(string)) { isFinded = true; break; } } if(isFinded) System.out.println("Ignore"); else System.out.println("Important!"); } } }