#P1547. Clay Bully

    ID: 548 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 2 上传者: 标签>模拟难度其他数学概率论入门Mid-Central USA 2003

Clay Bully

题目翻译(带注释)

题目描述
Terry女士是一位幼儿园美术老师,喜欢让学生用黏土创作。她的一项任务是让学生将黏土捏成方块并测量其尺寸。然而,每节课总有一个孩子会从另一个孩子那里拿走一些黏土。由于Terry女士给每个孩子的初始黏土量相同,你可以编写一个程序,在她测量完每个孩子的成品方块后,帮助找出欺负者和受害者。

输入格式
输入包含一个或多个班级的数据,最后以仅包含-1的行结束。每个班级数据开始于一个整数n(班级学生数),接下来是n行学生信息。每行学生信息包含三个正整数(表示黏土方块的长、宽、高)和学生名字(长度不超过8字符)。每个班级学生数不少于2且不超过9人,Terry女士给每个学生的初始黏土量最多为250立方单位。每个班级恰好有一个欺负者和一个受害者。

输出格式
对每个班级,输出一行,格式严格遵循样例输出。

输入数据1

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                  

输出数据1

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

来源
Mid-Central USA 2003

关键概念注释

  • 体积计算:方块体积 = 长×宽×高,记为( V = l \times w \times h )
  • 初始黏土量:同一班级所有学生的初始黏土量相同,且( V_{\text{初始}} \leq 250 )
  • 欺负者与受害者
    • 欺负者:成品体积 > 初始量(拿走了他人黏土)
    • 受害者:成品体积 < 初始量(黏土被拿走)

解题要点提示

  1. 核心逻辑

    • 计算每个学生的方块体积
    • 找出唯一的初始体积(所有学生体积的中间值,因恰好一人增多、一人减少)
    • 确定体积大于初始值的为欺负者,小于初始值的为受害者
  2. 关键步骤

    • 读取输入并计算各学生体积
    • 统计体积出现次数,确定初始体积(出现次数为n-2的体积值)
    • 按格式输出结果

示例解析(以班级1为例)

  • 学生体积:Jill(200)、Will(150)、Bill(250)
  • 初始体积应为200?150?250?
    • 假设初始为200:Bill(250>200)是欺负者,Will(150<200)是受害者,符合题意
    • 其他假设不满足“恰好一人增多、一人减少”
  • 输出:BilltookclayfromWill.Bill took clay from Will.