杭电oj2093题,Java版
杭电2093题,Java版
虽然不难但很麻烦。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner; /**
* @Author Yun
* @Date 2020/9/9 8:56
*
* Accepted!!!!!
*/
class node implements Comparable<node>{
String name;
int num;
int time; public node(String name, int num, int time) {
this.name = name;
this.num = num;
this.time = time;
} @Override
public int compareTo(node o) {
if(this.num<o.num){ //num 降序
return 1;
}else if(this.num>o.num){
return -1;
}else {
if(this.time>o.time){
return 1;
}else if(this.time<o.time){
return -1;
}else {
return this.name.compareTo(o.name)>0?1:-1;
}
}
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<node> list = new ArrayList<>();//记录每个学生的姓名、AC数和time
int n = sc.nextInt();
int m = sc.nextInt(); while (sc.hasNext()){
String name = sc.next(); int time = 0,num = 0;
for (int k = 0; k < n; k++) {
String s = sc.next();
if(s.charAt(0)=='-'|| s.equals("0")){
continue;
}else if(s.contains("(")){
num ++; //AC数加一 //计算用时
int tmp = 0;
int i = 0;
for (i = 0; s.charAt(i)!='(' ; i++) {
tmp = tmp*10+(s.charAt(i)-'0');
}
time += tmp; //计算罚时
tmp = 0;
for (int j = i+1; s.charAt(j)!=')'; j++) {
tmp = tmp*10+(s.charAt(j)-'0');
}
time+=tmp*m;
}else {
int tmp = 0;
for (int i = 0; i<s.length(); i++) {
tmp = tmp*10+(s.charAt(i)-'0');
}
num++;
time+=tmp;
}
} //建node
node nodex = new node(name,num,time);
list.add(nodex);
}
Collections.sort(list); //排序 //按要求输出
for (node nodex:list) {
System.out.printf("%-10s%3d%5d%n",nodex.name,nodex.num,nodex.time);
}
sc.close();
}
}
杭电oj2093题,Java版的更多相关文章
- 高手看了,感觉惨不忍睹——关于“【ACM】杭电ACM题一直WA求高手看看代码”
按 被中科大软件学院二年级研究生 HCOONa 骂为“误人子弟”之后(见:<中科大的那位,敢更不要脸点么?> ),继续“误人子弟”. 问题: 题目:(感谢 王爱学志 网友对题目给出的翻译) ...
- Help Johnny-(类似杭电acm3568题)
Help Johnny(类似杭电3568题) Description Poor Johnny is so busy this term. His tutor threw lots of hard pr ...
- acm入门 杭电1001题 有关溢出的考虑
最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...
- 杭电dp题集,附链接还有解题报告!!!!!
Robberies 点击打开链接 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和- 把状态转移方程写成了f ...
- 杭电ACM题单
杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...
- 2019春招面试高频题(Java版),持续更新(答案来自互联网)
第一模块--并发与多线程 Java多线程方法: 实现Runnable接口, 继承thread类, 使用线程池 操作系统层面的进程与线程(对JAVA多线程和高并发有了解吗?) 计算机资源=存储资源+计算 ...
- HDU 1840 Equations (简单数学 + 水题)(Java版)
Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1840 ——每天在线,欢迎留言谈论. 题目大意: 给你一个一元二次方程组,a(X^2 ...
- 杭电HDOJ--ACM1002(JAVA解题,运用BigInteger)(自定义MBigInteger 简单实现大数处理----完善后可以实现百亿计算器)
转载声明:原文转自http://www.cnblogs.com/xiezie/p/5501901.html JAVA解题: import java.util.*; import java. ...
- HDU 2086 A1 = ? (找规律推导公式 + 水题)(Java版)
Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 ——每天在线,欢迎留言谈论. 题目大意: 有如下方程:Ai = (Ai-1 ...
随机推荐
- JDBC回顾
回顾JDBC,完成查询 1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使 ...
- XCTF-WEB-新手练习区(9-12)笔记
9:xff_referer X老师告诉小宁其实xff和referer是可以伪造的. 界面显示需要我们 添加X-Forwarded-For:123.123.123.123 添加Rerferer:http ...
- C#LeetCode刷题之#28-实现strStr()(Implement strStr())
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3895 访问. 实现 strStr() 函数. 给定一个 hays ...
- LeetCode 647. Palindromic Substrings的三种解法
转载地址 https://www.cnblogs.com/AlvinZH/p/8527668.html#_label5 题目详情 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同 ...
- android.content.res.Resources$NotFoundException: String resource ID #0xb
原代码: protected void convert(BaseViewHolder helper, Student item) { helper.setText(R.id.item_tv_realm ...
- 分享一个bootstrap的上一步,下一步的插件
效果图: 下载链接: https://www.daimabiji.com/index.php?m=content&c=down&a_k=ae0fI1gZyLT7oao56Pgu-dye ...
- go 多线程并发 queue demo
原文链接:Writing worker queues, in Go 1.work.go [root@wangjq queue]# cat work.go package main import &qu ...
- 计算机网络-应用层(2)FTP协议
文件传输协议(FTP,File Transfer Protocol)是Internet上使用最广泛的文件传送协议.FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限.它屏蔽了 ...
- [转]camera教程
camera教程 Lens一般由几片透镜组成透镜结构,按材质可分为塑胶透镜(plastic)或玻璃透镜(glass),玻璃镜片比树脂镜片贵.塑胶透镜其实是树脂镜片,透光率和感光性等光学指标比不上镀膜镜 ...
- Java数据结构——树、二叉树的理论知识汇总
通用树的理论知识 一.树的定义 由一个或多个(n>=0)节点组成的有限集合T,有且仅有一个节点称为根(root),当n>1时,其7余的节点为m(m>=0)个互不相交的有限集合T1,T ...