小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过250立方厘米的等量橡皮泥,教大家做泥塑。在上课过程中,她发现每个班都恰好有一个小朋友会去抢另一个小朋友的橡皮泥,于是她决定,在正式开始做泥塑前,让大家把手里的橡皮泥都捏成一个立方体,并且测量手里捏好的橡皮泥的长、宽和高。这样,她就可以知道谁被谁抢了橡皮泥了。

小米老师在不同的学期可能会带一个班或者同时带多个班,因此输入数据可能有一组或者多组。每组输入数据的第一行为一个整数n,表示了这个班的小朋友数,之后n行每行包括了由空格分隔的三个整数和一个字符串,那个字符串表示了小朋友的名字,前面三个整数则是这个学生手里橡皮泥块的长、宽、高数据。按照幼儿园的规定,每个班最多有9个小朋友,最少也要有2个小朋友,每个小朋友在学籍系统中的名称不超过8个字符长。当出现一个班级的小朋友数为-1时,表示没有更多的班级了。

输出行数与小米老师带的班级数相同,形式为“X took clay from Y.”,具体请参考样例输出。

样例输入

3
10 10 2 Jill
5 3 10 Will
5 5 10 Bill
4
2 4 10 Cam
4 3 7 Sam
8 11 1 Graham
6 2 7 Pam
-1
样例输出

Bill took clay from Will.
Graham took clay from Cam.

代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);List<String[]> resultList = new ArrayList();while (sc.hasNext()) {String input = sc.nextLine();if(input.split(" ").length==1){int total = Integer.parseInt(input);if (total == -1) {break;}List list = new ArrayList();for (int i = 0; i < total; i++) {String ss = sc.nextLine();String[] split = ss.split(" ");list.add(split);}String max = getMax(list);String min = getMin(list);String[] result = new String[]{max,min};resultList.add(result);}}for (String[] s : resultList) {System.out.println(s[0]+" took clay from "+s[1]+".");}}private static String getMin(List list) {String name = "";int min = 0;for (Object o : list) {String[] s = (String[])o;int v = Integer.parseInt(s[0])*Integer.parseInt(s[1])*Integer.parseInt(s[2]);if (min == 0) {min = v;name = s[3];}if (v < min) {min = v;name = s[3];}}return name;}private static String getMax(List list) {String name = "";int max = 0;for (Object o : list) {String[] s = (String[])o;int v = Integer.parseInt(s[0])*Integer.parseInt(s[1])*Integer.parseInt(s[2]);if (v > max) {max = v;name = s[3];}}return name;}}

计蒜客挑战难题:泥塑课相关推荐

  1. 计蒜客 挑战难题 爬楼梯

    计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...

  2. 计蒜客挑战难题:爬楼梯

    假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输出你的方法总数. 样例输入 ...

  3. 计蒜客挑战难题:整数转换成罗马数字

    给定一个整数num,( 1<=num<=3999),将整数转换成罗马数字. 如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等. 格式: 第一行输入一个整数,接下来输出对 ...

  4. 计蒜客挑战难题:最后一个单词的长度

    给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度. 如果不存在最后一个单词,返回0 注意: "单词"是指不包含空格符号的字符串 例如: s = "hello ...

  5. 计蒜客挑战难题:移除数组中的重复元素

    给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度. 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间.即常数空间限制. ...

  6. 计蒜客挑战难题:元素移除

    给定一个数组和一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度. 如:A[] = {1, 2, 3, 4, 5}, 要删除数字3, 那么返回数组长度为4. 亲爱的小伙伴们,题目是 ...

  7. 计蒜客挑战难题:字符串长度

    在右侧我们给出了一个已经基本完成的程序,读入了一个字符串,调用了一个叫str_len的函数来计算这个字符串的长度,并输出. 聪明的你应该已经发现了,这个叫str_len的函数并没有完成,在不修改函数原 ...

  8. 计蒜客挑战难题:矩阵翻转

    晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的.于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分. 输入第一行包括由空格分开的整数M.N.T(0 < M ...

  9. 计蒜客挑战难题:简单斐波那契

    斐波那契数列是一种非常有意思的数列,由 00 和 11 开始,之后的斐波那契系数就由之前的两数相加.用数学公式定义斐波那契数列则可以看成如下形式: F_0=0F ​0 ​​ =0 F_1=1F ​1 ...

最新文章

  1. 全球第五大社交网站,二号员工离职创业,自爆心酸历程!想做10亿美元规模?先活着!...
  2. 看看物联网架构,快速了解物联网
  3. 服务器系统摁c,如何系统有效学习c服务器开发
  4. php 挂马 密码123456,admin密码-常用密码加密md5值,123456,admin,admin888
  5. CI 扩展 Service
  6. C/C++得到系统启动项
  7. python socket服务器_python网络编程学习笔记(三):socket网络服务器
  8. 这是我见过最全面的Python装饰器详解!没有学不会这种说法
  9. Visual Studio 2017 已知问题 Qamp;amp;A
  10. Windows 环境下 Chrome浏览器崩溃“STATUS_INVALID_IMAGE_HASH”
  11. 台式计算机时间不准,每天开机电脑时间都不正确怎么办?试试这个办法!
  12. express html文件接收路由参数,express 获取post 请求参数
  13. Linux简单基本命令
  14. C语言俄罗斯方块代码
  15. Hexo 的next主题下添加网易云音乐作BGM
  16. OCR表格识别—(一)
  17. redis 无法启动
  18. java 学生兼职_javaweb大学生兼职平台
  19. 2021-06-01太极图实现(定位+动画)
  20. 上传声音 微信小程序_图文详解微信小程序中调用录音功能和音频播放的方法...

热门文章

  1. python情感词典计算得分_基于情感词典的情感打分
  2. 关于DG32f103C8T6 不启动的问题-调试可以运行自启动不行
  3. 6001. mavlink 编译与移植
  4. html程序国庆节祝福,2018最新的国庆节祝福语
  5. java 布局管理器_java布局管理器-borderlayout
  6. 【C语言】Pillow(数据溢出问题)
  7. 数据结构之内部排序三
  8. MPICH C语言接口函数说明
  9. 【数据结构】----C语言实现栈操作
  10. 【JAVA】Eclipse保存时出现“Save could not be completed”问题