杭电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版的更多相关文章

  1. 高手看了,感觉惨不忍睹——关于“【ACM】杭电ACM题一直WA求高手看看代码”

    按 被中科大软件学院二年级研究生 HCOONa 骂为“误人子弟”之后(见:<中科大的那位,敢更不要脸点么?> ),继续“误人子弟”. 问题: 题目:(感谢 王爱学志 网友对题目给出的翻译) ...

  2. Help Johnny-(类似杭电acm3568题)

    Help Johnny(类似杭电3568题) Description Poor Johnny is so busy this term. His tutor threw lots of hard pr ...

  3. acm入门 杭电1001题 有关溢出的考虑

    最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...

  4. 杭电dp题集,附链接还有解题报告!!!!!

    Robberies 点击打开链接 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱  最脑残的是把总的概率以为是抢N家银行的概率之和- 把状态转移方程写成了f ...

  5. 杭电ACM题单

    杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...

  6. 2019春招面试高频题(Java版),持续更新(答案来自互联网)

    第一模块--并发与多线程 Java多线程方法: 实现Runnable接口, 继承thread类, 使用线程池 操作系统层面的进程与线程(对JAVA多线程和高并发有了解吗?) 计算机资源=存储资源+计算 ...

  7. HDU 1840 Equations (简单数学 + 水题)(Java版)

    Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1840 ——每天在线,欢迎留言谈论. 题目大意: 给你一个一元二次方程组,a(X^2 ...

  8. 杭电HDOJ--ACM1002(JAVA解题,运用BigInteger)(自定义MBigInteger 简单实现大数处理----完善后可以实现百亿计算器)

    转载声明:原文转自http://www.cnblogs.com/xiezie/p/5501901.html     JAVA解题:   import java.util.*; import java. ...

  9. HDU 2086 A1 = ? (找规律推导公式 + 水题)(Java版)

    Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 ——每天在线,欢迎留言谈论. 题目大意: 有如下方程:Ai = (Ai-1 ...

随机推荐

  1. Docker 搭建 Keycloak

    Docker 搭建 Keycloak 命令 需要创建好数据库,启动容器指定数据库信息 # KEYCLOAK_USER 用户名 # KEYCLOAK_PASSWORD 密码 # DB_ADDR 数据库地 ...

  2. MyBatisPlus配置日志,CRUD的使用

    配置日志 我们所有的sql在mybatisplus是不可见的,所以在开发中需要配置日志,开发完成后,就可以取消日志了,因为日志也是损耗资源的 #配置日志 mybatis-plus: configura ...

  3. image classification backbone 汇总分析

    下面是一个list,可以详细看一下 image_classification = [['name','top1_acc','top5_acc','size'],['FixEfficientNet-L2 ...

  4. C# ASP 异步存储数据

    1.异步委托 在导航栏接收到提交的请求后,调用个各子画面的保存答案方法,之后实例化委托 saveToDB . 当执行BeginInvoke后,服务器会另起线程执行saveToDB里的的方法,因为这里要 ...

  5. K均值聚类和DBSCAN介绍

    K均值(K-means)聚类 问题定义:给定数据$\vec{x}_1,\vec{x}_2,\cdots,\vec{x}_n$,将它们分到不同的$K$个簇(cluster)中.定义$\vec{c}=(c ...

  6. 欧几里得算法(gcd) 裴蜀定理 拓展欧几里得算法(exgcd)

    欧几里得算法 又称辗转相除法 迭代求两数 gcd 的做法 由 (a,b) = (a,ka+b) 的性质:gcd(a,b) = gcd(b,a mod b) int gcd(int a,int b){ ...

  7. 浏览器自动化的一些体会11 webclient的异步操作

    原来的代码大致如下: private void foo(string url) { using (WebClient client = new WebClient()) { client.Downlo ...

  8. 使用MSF通过MS17-010获取系统权限

    ---恢复内容开始--- Step1:开启postgresql数据库: /etc/init.d/postgresql start Step2:进入MSF中,搜索cve17-010相关的exp: sea ...

  9. libview关于图片导入并显示

    1 程序框图->图形与声音->图形格式,选择“写入某个格式的图片”,然后在路径处创建输入控件,然后在“图片函数”中选择“绘制平面像素图”,在控件输出端“新图片”创建显示控件.打开前面板,在 ...

  10. django学习(一)

    1.django版本的选择问题 在学习django之前,我们先做一个基本问题的讨论,这个问题是关于django版本的问题.我们进入官网,可以查看django版本的情况. 关于django的版本的问题, ...