【九度OJ】1002【模拟】
来源:互联网 发布:php mysql 三表联查 编辑:程序博客网 时间:2024/05/01 07:33
浙大2011年机试题目,也是比较简单的一道题目。只要按照题目中所给的grading rules 一步一步模拟过程即可
需要注意的是:
1.求result时,等号右边要变成double类型的
2.Math类的abs方法,参数为double类型的
3.Java精确小数点方法 参考了网址 http://blog.csdn.net/tianlincao/article/details/5654880 中的方法 String.format("%.1f", result) String类中的方法,格式化result小数点后一位,并为float类型
代码:
package Test1;
import java.util.Scanner;
import java.lang.Math;
public class Test2 {
/**
* by qr 2014-8-6 jobdu 1002
*/
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
String num = scan.nextLine();
String cases[] = num.split(" ");
/*
* p=cases[0] t=case[1] g1=cases[2] g2=cases[3] g3=cases[4]
* gj=cases[5]
*/
int p = Integer.parseInt(cases[0]);
int t = Integer.parseInt(cases[1]);
int g1 = Integer.parseInt(cases[2]);
int g2 = Integer.parseInt(cases[3]);
int g3 = Integer.parseInt(cases[4]);
int gj = Integer.parseInt(cases[5]);
double result = 0;
// simulate the process
if (Math.abs((double) (g1 - g2)) <= t) {
result = ((double)g1 + g2) / 2; //result都要变成double
} else if (Math.abs((double) (g3 - g1)) <= t //求绝对值
&& Math.abs((double) (g3 - g2)) <= t) {
// max of g1,g2,g3
result = max(g1, g2, g3);
} else if (Math.abs((double) (g3 - g1)) <= t
|| Math.abs((double) (g3 - g2)) <= t) {
double temp1=Math.abs((double) (g3 - g1));
double temp2=Math.abs((double) (g3 - g2));
if(temp1>temp2)
result=((double)g3+g2)/2;
else
result=((double)g3+g1)/2;
} else if (Math.abs((double) (g3 - g1)) > t
&& Math.abs((double) (g3 - g2)) > t) {
result=(double)gj;
}
System.out.println(String.format("%.1f", result));
//1代表小数点后1位,f代表为浮点型
}
}
private static double max(int g1, int g2, int g3) {
int max = 0;
if (g1 > g2) {
if (g1 > g3)
max = g1;
else
max = g3;
} else {
if (g2 > g3)
max = g2;
else
max = g3;
}
return max;
}
}
- 【九度OJ】1002【模拟】
- 【九度OJ】1010【模拟】
- 【九度OJ】1022【模拟】
- 【九度OJ】1036【模拟】
- 【九度OJ】1018【模拟】
- 【九度OJ】1048【模拟】
- 【九度OJ】1021【模拟】
- 【九度OJ】1032【模拟】
- 【九度OJ】1013【模拟】
- 九度OJ 1014 排名 (模拟)
- 九度OJ 1177 查找 (模拟)
- 九度OJ 1179 阶乘(模拟)
- 九度OJ 打印日期 (模拟)
- 九度OJ-1002
- 九度OJ[1002]
- 九度OJ 1002
- 九度OJ 1002
- 九度OJ 1002 Grading
- FragmentActivity实现滑动
- Mnesia数据库的一些细节问题
- hdu 1002
- DIY.NETORM框架——技术储备(1)Attribute
- POJ 2391 二分+SAP最大流
- 【九度OJ】1002【模拟】
- PDO中事物处理
- 安装 ADT 及 Android SDK
- S3C2440驱动简析——串口驱动
- bzoj2015 [Usaco2010 Feb]Chocolate Giving
- axis2搭建服务器并连接服务器
- HDU 4539 郑厂长系列故事——排兵布阵(状态压缩dp)
- struts2 interceptor 原理简单模拟
- 数据库基本操作