zoukankan      html  css  js  c++  java
  • 题库重整

    描述

     

    TOJ由于在早期没有题目搜索功能,导致系统内出现了很多重复的题目,为了检查题目重复情况,crq需要统计出系统内哪些题目是重复的,现在就把这个任务交给你了。

    输入

     

    输入数据有多组,每组数据的第1行是题库总量t,t<=10000。接下来有t行,每行有两个数据,分别为题号(题号在1001至11000之间)和标题(标题是一个字符串,可能包含空格)。

    为简化问题,假设标题长度不超过20个字符,行末没有空格。

    输入以EOF结束。

    输出

     

    请根据标题的字典序输出所有有重复的题目信息,每个信息占一行。

    每行包括一个标题以及所有重复的题号,并按照题号的顺序从小到大排列。之间用空格分开。

    样例输入

    5
    1001 a+b
    1003 humble number
    1002 humble number
    1004 hello world
    1005 a+b

    样例输出

    a+b 1001 1005
    humble number 1002 1003

    题解:map+list,采用java

    code:

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.TreeMap;
    
    
    public class Main
    {
    	public static void main(String[] args)
    	{
    		Scanner cin = new Scanner(System.in);
    	
    		while(cin.hasNext())
    		{
    			int n = cin.nextInt();
    			Map<String,List<Integer>> result = new TreeMap<String, List<Integer>>();
    			for(int i=0; i<n; i++)
    			{
    				int x = cin.nextInt();
    				String b = cin.nextLine();
    				b = b.trim();
    				if(result.containsKey(b)){
    					result.get(b).add(x);
    				}else{
    					List<Integer> list = new ArrayList<Integer>();
    					list.add(x);
    					result.put(b, list);
    				}
    			}
    			for(Map.Entry<String, List<Integer>> mp: result.entrySet())
    			{
    				List<Integer> list = mp.getValue();
    				
    				if(list.size()>1)
    				{
    					Collections.sort(list);
    					System.out.print(mp.getKey());
    					for(Integer i : list)
    					{
    						System.out.print(" "+i);
    					}
    					System.out.println();
    				}
    				
    			}
    		}
    		cin.close();
    	}
    }
    

      

  • 相关阅读:
    团队开发之个人博客三
    团队开发之个人博客二
    团队开发之个人博客一
    第六周进度条
    四则运算(Android)版
    第五周学习进度条
    第二冲刺周期个人报告01
    查找水王01
    构建之法阅读笔记09
    构建之法阅读笔记08
  • 原文地址:https://www.cnblogs.com/lzeffort/p/5958811.html
Copyright © 2011-2022 走看看