分类计算数目

来源:互联网 发布:iphone网络制式怎么看 编辑:程序博客网 时间:2024/06/05 03:51

假期到了,孩子的同学们来你们家玩,你为他们买了几盒糖果。每个盒子都包含不同类型的糖果的集合。为了防止孩子们因为分到不同数量和类型的糖果而吵闹,你决定打开所有的盒子,取出所有的糖果,并均匀地按孩子个数分成多份。当然,均匀的分配一堆糖果有可能做不到,总会出现零头的,你会把每种类型的糖果均匀的分给孩子们,多余的那些糖果藏起来。

 

输入:

第一行是一个数字,代表孩子总数。合法值[2,10]

第二行是一个以逗号”,”分隔的字符串,每个字符串被双引号括起来,代表一个糖果盒,字符串中的每个字符代表一个糖果。相等的字符是相同类型的糖果:例如,所有”B”是相同的糖果,所有”L”是相同的糖果,等等。糖果盒数目介于[1,50],每个糖果盒字符串长度限制[1,50],字符合法取值为数字和大小写英文字符,大小写敏感。

字符串输入需严格按照要求,不符合要求的输入或是在合法值以外的参数值,输出打印-1,-1

 

输出:

打印以”,”分隔的两个数字:第一个是每个孩子分到的糖果数量,第二个是剩下的糖果数量。

如果出错,比如输入值非法,打印-1,-1

 

Examples

Case 1)

input:

2

"FOO","BAR","BAZ","TOPCODER"

Returns: 5,7

 

Case 2)    

input:

2

"X"

Returns: 0,1

 

Case 3)    

input:

2

"GIVING","CANDY","TO","CHILDREN","CANNOT","BE","CHALLENGING","RIGHT"

Returns: 17,11

 

Case 4)    

input:

2

"WITHOUT","IT","IM","JUST","ESPR"

Returns: 5,9

 

Case 5)    

input:

2

"PHQGHUMEAYLNLFDXFIRCVSCXGGBWKFNQDUXWFNFOZVSRTKJPRE","PGGXRPNRVYSTMWCYSYYCQPEVIKEFFMZNIMKKASVWSRENZKYCXF","XTLSGYPSFADPOOEFXZBCOEJUVPVABOYGPOEYLFPBNPLJVRVIPY","AMYEHWQNQRQPMXUJJLOOVAOWUXWHMSNCBXCOKSFZKVATXDKNLY","JYHFIXJSWNKKUFNUXXZRZBMNMGQOOKETLYHNKOAUGZQRCDDIUT","EIOJWAYYZPVSCMPSAJLFVGUBFAAOVLZYLNTRKDCPWSRTESJWHD","IZCOBZCNFWLQIJTVDWVXHRCBLDVGYLWGBUSBMBORXTLHCSMPXO","HGMGNKEUFDXOTOGBGXPEYANFETCUKEPZSHKLJUGGGEKJDQZJEN","PEVQGXIEPJSRDZJAZUJL"

Returns: 203,14


Case 6)

Input:

2

"PHQGHUMEAYLNLFDXFIRCVSCXGGB,WKFNQDUXWFNFOZVSRTKJPRE"

Returns: -1,-1




源码:

package demo1;import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class test {public static void main(String[] args) {int fende=0,shengyu=0;System.out.println("input");Scanner input1 = new Scanner(System.in);Scanner input2 = new Scanner(System.in);int n = input1.nextInt();String str = input2.next();String reg = "((\")[A-Za-z0-9]{1,50}(\")(,)?){1,50}";boolean b = str.matches(reg);if (b && n<=10 && n>=2) {Map<Character, Integer>map = new HashMap<Character, Integer>();            for (char s : str.toCharArray()){            Integer i = map.get(s);            if(i == null){            map.put(s, 1);            }else{            map.put(s,i+1);            }            }            for(char key : map.keySet()){            if(key !='"' && key!=','){            fende +=map.get(key)/n;            shengyu +=map.get(key)%n;            }            }System.out.println("Returns:"+fende+","+shengyu);} else {System.out.println("-1,-1");}}}


0 0
原创粉丝点击