华为——查分系统
来源:互联网 发布:苹果cms会员中心模板 编辑:程序博客网 时间:2024/05/22 22:41
package OJ;
import java.util.*;
public class Bully {
/**
* @老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某
* 位同学的成绩.
*
* 输入描述:
* 输入包括多组测试数据。
* 每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。
* 学生ID编号从1编到N。
* 第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩
* 接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为'Q'的时候, 表示这是一条询问操作,
* 他询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少
* 当C为‘U’的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。
*
* 输出描述:
* 对于每一次询问操作,在一行里面输出最高成绩.
* 输入例子:
* 5 7
* 1 2 3 4 5
* Q 1 5
* U 3 6
* Q 3 4
* Q 4 5
* U 4 5
* U 2 9
* Q 1 5
* 输出例子:
* 5
* 6
* 5
* 9
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] s = str.split(" ");
int num_stu = Integer.parseInt(s[0]);
int num_act = Integer.parseInt(s[1]);
str = sc.nextLine();
String[] score = str.split(" ");
int[] sco = new int[score.length+1];
for(int i=1;i<sco.length;i++){
sco[i] = Integer.parseInt(score[i-1]);
}
LinkedList<String> link = new LinkedList<String>();
while(num_act>0){
str = sc.nextLine();
String[] a = str.split(" ");
if(a[0].equals("Q")){
fun_Q(a,link,sco,num_stu);
}
else if(a[0].equals("U")){
fun_U(a,link,sco,num_stu);
}
num_act--;
}
Iterator<String> it = link.iterator();
while(it.hasNext())
sop(it.next());
}
//更新成绩
private static void fun_U(String[] a, LinkedList<String> link, int[] sco,int num_stu) {
for(int i=1;i<=num_stu;i++){
if(Integer.parseInt(a[1])==i){
sco[i] = Integer.parseInt(a[2]);
break;
}
}
}
//查询成绩
private static void fun_Q(String[] a, LinkedList<String> link, int[] sco,int num_stu) {
int min = Integer.parseInt(a[1]);
int max = Integer.parseInt(a[2]);
int max_score = sco[min];
for(int i=min+1;i<=max;i++){
if(max_score<sco[i])
max_score = sco[i];
}
link.add(max_score+"");
}
public static void sop(Object o){
System.out.println(o);
}
}
import java.util.*;
public class Bully {
/**
* @老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某
* 位同学的成绩.
*
* 输入描述:
* 输入包括多组测试数据。
* 每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。
* 学生ID编号从1编到N。
* 第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩
* 接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为'Q'的时候, 表示这是一条询问操作,
* 他询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少
* 当C为‘U’的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。
*
* 输出描述:
* 对于每一次询问操作,在一行里面输出最高成绩.
* 输入例子:
* 5 7
* 1 2 3 4 5
* Q 1 5
* U 3 6
* Q 3 4
* Q 4 5
* U 4 5
* U 2 9
* Q 1 5
* 输出例子:
* 5
* 6
* 5
* 9
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] s = str.split(" ");
int num_stu = Integer.parseInt(s[0]);
int num_act = Integer.parseInt(s[1]);
str = sc.nextLine();
String[] score = str.split(" ");
int[] sco = new int[score.length+1];
for(int i=1;i<sco.length;i++){
sco[i] = Integer.parseInt(score[i-1]);
}
LinkedList<String> link = new LinkedList<String>();
while(num_act>0){
str = sc.nextLine();
String[] a = str.split(" ");
if(a[0].equals("Q")){
fun_Q(a,link,sco,num_stu);
}
else if(a[0].equals("U")){
fun_U(a,link,sco,num_stu);
}
num_act--;
}
Iterator<String> it = link.iterator();
while(it.hasNext())
sop(it.next());
}
//更新成绩
private static void fun_U(String[] a, LinkedList<String> link, int[] sco,int num_stu) {
for(int i=1;i<=num_stu;i++){
if(Integer.parseInt(a[1])==i){
sco[i] = Integer.parseInt(a[2]);
break;
}
}
}
//查询成绩
private static void fun_Q(String[] a, LinkedList<String> link, int[] sco,int num_stu) {
int min = Integer.parseInt(a[1]);
int max = Integer.parseInt(a[2]);
int max_score = sco[min];
for(int i=min+1;i<=max;i++){
if(max_score<sco[i])
max_score = sco[i];
}
link.add(max_score+"");
}
public static void sop(Object o){
System.out.println(o);
}
}
0 0
- 华为——查分系统
- 运动会计分系统—面向对象
- C++类再写一遍学生查分系统
- Android驱动之 Linux Input分系统之TP——A/B(Slot)协议
- 华为机试——基础语法查缺补漏
- 奥威Power-BI软件快消行业BI解决方案——KA分系统分省市销售分析
- poj1201差分系统
- 机试——华为
- JAVA ——华为
- 华为OJ—四则运算
- 华为云重启—防火墙
- 【POJ3159】【差分系统】【dij+priority_queue】
- MySQL中部分系统变量介绍
- 中兴、华为——五年计划
- 华为荣耀——U8860
- 华为初级——合唱队
- 华为初级——百钱买百鸡
- 华为初级——合唱队
- 洗脑
- Vim学习笔记4---Small Changes
- python之mock
- UVA 658 It's not a Bug, it's a Feature!
- 部署自己的私有 Docker Registry
- 华为——查分系统
- Android 中的资源访问(简介/颜色)
- 木棒与三角形问题小结
- 例题8-8 防线 UVa1471
- ios开发中地图和定位
- FFT详解
- hdu 4533 威威猫系列故事――晒被子(二重等差数列+差分前缀和)
- linux ssh远程登录原理及中断原理
- zTree初体验(四)——节点增删改