杭电1113(Java实现)

原创 2016年06月01日 14:27:31
这题题目大意如下:先输入字典序列,字典序列的项数大于1项小于100项,遇到"XXXXXX"结束输入,其次是输入要匹配的序列,如果要匹配的一个项在字典中没有对应的序列,则输出"NOT A VALID WORD",否则输出匹配的序列,当然匹配的序列可能不止一项。

不多说了,直接上代码:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Map<String, List<String>>map = new HashMap<String, List<String>>();
        String str = "";
        String chStr = "";
        while(!"XXXXXX".equals(str=sc.nextLine())){
            List<String>list = new ArrayList<String>();
            char chs[] = str.toCharArray();
            Arrays.sort(chs);
            chStr = new String(chs);
            if(map.get(chStr)==null){
                list.add(str);
                map.put(chStr, list);
            }else{
                list = map.get(chStr);
                list.add(str);
                map.put(chStr, list);
            }
        }
        while(!"XXXXXX".equals(str=sc.nextLine())){
            char chs[] = str.toCharArray();
            Arrays.sort(chs);
            chStr = new String(chs);
            List<String>list = map.get(chStr);
            if(list==null){
                System.out.println("NOT A VALID WORD");
            }else{
                String strs[] = new String[list.size()];
                for(int i=0;i<strs.length;i++){
                    strs[i] = list.get(i);
                }

                Arrays.sort(strs, new Comparator<String>() {
                    @Override
                    public int compare(String o1, String o2) {
                        return o1.compareTo(o2);
                    }
                });

                for(int i=0;i<strs.length;i++){
                    System.out.println(strs[i]);
                }
            }
            System.out.println("******");
        }
    }
}

杭电ACM 1113的三种方法

Word Amalgamation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth...

java实现杭电acm1到23题

  • 2014年05月10日 14:09
  • 15KB
  • 下载

杭电1016 素数环 java代码实现

杭电1016 素数环问题——java代码实现 这是我自己所学会使用DFS所做的第一个题目,如有不好的地方,希望大神多多指教,如果你也正在学习,那就一起学习啦...

杭电 acm 1716 java 实现 格式很变态

这道题格式好麻烦,一直presentation error,改了好久,去掉了行末尾的空格,当时最后当输入0 0 0 0 时空行还无法去掉,因为我用的不是二维数组,无法判断下一行输入的是不是0 0 0 ...

java学习资料_1113

  • 2016年11月13日 22:25
  • 37.48MB
  • 下载

hdu1113 字典查找 java版

题目链接:点击题目大概意思是给出一个单词对比表 然后找出对应单词所有对应表中符合的单词 不考虑字母顺序 只需要单词所包含的字母相同即可大概思路:通过hashMap去存储对应表 然后在查询java中的...

杭电ACM OJ 1011 Starship Troopers 树的动态规划(树的dp)经典树形背包 java写的 包看懂 递归流程完全解析

Starship Troopers Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other...

选课时间 杭电ACM Java

选课时间(题目已修改,注意读题) Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合。你来帮帮他吧。(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:杭电1113(Java实现)
举报原因:
原因补充:

(最多只允许输入30个字)