Thứ Sáu, 11 tháng 1, 2019

UVa 00642 - Word Amalgamation (go through the given small dictionary for the list of possible anagrams )

Link: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=8&page=show_problem&problem=583
Sol:
package uva;
/* USER: 46724 (sfmunera) */
/* PROBLEM: 583 (642 - Word Amalgamation) */
/* SUBMISSION: 10094114 */
/* SUBMISSION TIME: 2012-05-09 19:14:40 */
/* LANGUAGE: 2 */
import java.util.*;
import java.io.*;
public class UVa00642_WordAmalgamation {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
Map<String, String> dict = new HashMap<String, String>();
String word;
while (!(word = in.readLine()).equals("XXXXXX")) {
char[] ch = word.toCharArray();
Arrays.sort(ch);
dict.put(word, String.valueOf(ch));
}
while (!(word = in.readLine()).equals("XXXXXX")) {
Set<String> matches = new TreeSet<String>();
for (String s : dict.keySet()) {
char[] ch = word.toCharArray();
Arrays.sort(ch);
String s2 = String.valueOf(ch);
if (s2.equals(dict.get(s)))
matches.add(s);
}
if (!matches.isEmpty())
for (String s : matches)
System.out.println(s);
else
System.out.println("NOT A VALID WORD");
System.out.println("******");
}
in.close();
System.exit(0);
}
}

Không có nhận xét nào:

Đăng nhận xét

Bài G - Educatioal Round 62

Đề bài: Bạn được cho 1 đồ thị vô hướng đặc biệt. Nó bao gồm $2n$ đỉnh được đánh số từ 1 đến 2n. Dưới đây là một số đặc tính của đồ thị: + ...