计蒜客挑战难题:泥塑课
小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过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;}}
计蒜客挑战难题:泥塑课相关推荐
- 计蒜客 挑战难题 爬楼梯
计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...
- 计蒜客挑战难题:爬楼梯
假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输出你的方法总数. 样例输入 ...
- 计蒜客挑战难题:整数转换成罗马数字
给定一个整数num,( 1<=num<=3999),将整数转换成罗马数字. 如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等. 格式: 第一行输入一个整数,接下来输出对 ...
- 计蒜客挑战难题:最后一个单词的长度
给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度. 如果不存在最后一个单词,返回0 注意: "单词"是指不包含空格符号的字符串 例如: s = "hello ...
- 计蒜客挑战难题:移除数组中的重复元素
给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度. 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间.即常数空间限制. ...
- 计蒜客挑战难题:元素移除
给定一个数组和一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度. 如:A[] = {1, 2, 3, 4, 5}, 要删除数字3, 那么返回数组长度为4. 亲爱的小伙伴们,题目是 ...
- 计蒜客挑战难题:字符串长度
在右侧我们给出了一个已经基本完成的程序,读入了一个字符串,调用了一个叫str_len的函数来计算这个字符串的长度,并输出. 聪明的你应该已经发现了,这个叫str_len的函数并没有完成,在不修改函数原 ...
- 计蒜客挑战难题:矩阵翻转
晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的.于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分. 输入第一行包括由空格分开的整数M.N.T(0 < M ...
- 计蒜客挑战难题:简单斐波那契
斐波那契数列是一种非常有意思的数列,由 00 和 11 开始,之后的斐波那契系数就由之前的两数相加.用数学公式定义斐波那契数列则可以看成如下形式: F_0=0F 0 =0 F_1=1F 1 ...
最新文章
- 全球第五大社交网站,二号员工离职创业,自爆心酸历程!想做10亿美元规模?先活着!...
- 看看物联网架构,快速了解物联网
- 服务器系统摁c,如何系统有效学习c服务器开发
- php 挂马 密码123456,admin密码-常用密码加密md5值,123456,admin,admin888
- CI 扩展 Service
- C/C++得到系统启动项
- python socket服务器_python网络编程学习笔记(三):socket网络服务器
- 这是我见过最全面的Python装饰器详解!没有学不会这种说法
- Visual Studio 2017 已知问题 Qamp;amp;A
- Windows 环境下 Chrome浏览器崩溃“STATUS_INVALID_IMAGE_HASH”
- 台式计算机时间不准,每天开机电脑时间都不正确怎么办?试试这个办法!
- express html文件接收路由参数,express 获取post 请求参数
- Linux简单基本命令
- C语言俄罗斯方块代码
- Hexo 的next主题下添加网易云音乐作BGM
- OCR表格识别—(一)
- redis 无法启动
- java 学生兼职_javaweb大学生兼职平台
- 2021-06-01太极图实现(定位+动画)
- 上传声音 微信小程序_图文详解微信小程序中调用录音功能和音频播放的方法...
热门文章
- python情感词典计算得分_基于情感词典的情感打分
- 关于DG32f103C8T6 不启动的问题-调试可以运行自启动不行
- 6001. mavlink 编译与移植
- html程序国庆节祝福,2018最新的国庆节祝福语
- java 布局管理器_java布局管理器-borderlayout
- 【C语言】Pillow(数据溢出问题)
- 数据结构之内部排序三
- MPICH C语言接口函数说明
- 【数据结构】----C语言实现栈操作
- 【JAVA】Eclipse保存时出现“Save could not be completed”问题