天梯赛每日打卡05(41-45题解)

Posted Huterox

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了天梯赛每日打卡05(41-45题解)相关的知识,希望对你有一定的参考价值。

文章目录

前言

今天比较那啥,但是练还是要练的不过只是做了5题(下午做的)
主要是这个玩意嘛:嘿~全流程带你基于Pytorch手撸图片分类“框架“–HuClassify
累了,毁灭吧!

L1-045 宇宙无敌大招呼 (5 分)


import java.util.Scanner;

public class Main 
    //5题吧
    public static void main(String[] args) 
        Scanner scanner = new Scanner(System.in);
        String next = scanner.next();
        System.out.println("Hello "+next);
    


L1-042 日期格式化 (5 分)

import java.util.Scanner;

public class Main 
    public static void main(String[] args) 
        Scanner scanner = new Scanner(System.in);
        String data = scanner.next();
        String[] split = data.split("-");
        System.out.println(split[2]+"-"+split[0]+"-"+split[1]);
    


L1-041 寻找250 (10 分)

import java.io.BufferedInputStream;
import java.util.Scanner;

public class Main 
    public static void main(String[] args) 
        Scanner scanner = new Scanner(new BufferedInputStream(System.in));
        int index = 0;
        while (true)
            index++;
            int nextInt = scanner.nextInt();
            if(nextInt==250)
                System.out.println(index);
                return;
            
        
    


L1-044 稳赢 (15 分)

import java.io.BufferedInputStream;
import java.util.Scanner;

public class Main 
    //每隔n个搞就行了
    public static void main(String[] args) 
        Scanner sc = new Scanner(new BufferedInputStream(System.in));
        int n = sc.nextInt();
        while (true) 
            for (int i = 0; i < n; i++) 
                String str = sc.next();
                if (str.equals("ChuiZi")) 
                    System.out.println("Bu");
                 else if (str.equals("Bu")) 
                    System.out.println("JianDao");
                 else if (str.equals("JianDao")) 
                    System.out.println("ChuiZi");
                 else 
                    return;
                
            
            String str1 = sc.next();
            if (str1.equals("End")) 
                return;
             else 
                System.out.println(str1);
            

        
    



L1-043 阅览室 (20 分)


import java.util.*;

public class Main 
    public static void main(String[] args)
    	Scanner in=new Scanner(System.in);
        int id=0;
        int day;
        char c;
        String time;
        int[] book=new int[1005];
        reset(book);
        int totaltime=0;//总阅读时间
        int lend=0;//lend是当天读者借书次数
        day=in.nextInt();
        in.nextLine();
        while(true)
        
            id=in.nextInt();
            c=in.next().charAt(0);
            time=in.next();
            in.nextLine();
            if(id==0)

            
                long averagetime=0;
                if(lend!=0)
                

                    averagetime=Math.round(totaltime*1.0/lend);//四舍五入
                    reset(book);
                    System.out.println(lend+" "+averagetime);
                    totaltime=0;
                    lend=0;
                    day--;
                
                else
                
                    System.out.println(0+" "+0);
                
            
            else if(c=='S')
                book[id]=CountTime(time);
            
            else if(c=='E'&&book[id]!=-1)
            
                lend++;

                totaltime+=CountTime(time)-book[id];
                book[id]=-1;
            
            if(day==0)
                break ;
        
    
    static int CountTime(String str)
    
        int hour=(str.charAt(0)-'0')*10+(str.charAt(1)-'0');
        int min=(str.charAt(3)-'0')*10+(str.charAt(4)-'0');
        return hour*60+min;
    
    static void reset(int[] book)
    
        for(int i=0;i<1005;i++)
        
            book[i]=-1;//book元素为-1说明这本书没有被借走
        
    

注意点

这题比较巧的就是,用数组表示书的编号,然后数组存的东西,可以表示时间也可以表示有没有在当天被借走。当天结束之后,有些书可能书借走了但是没在当天还,但是按照题目的 意思也不算进去,所以只需要考虑 S E 闭合就好了。然后这个用一个数组表示多个信息可以代替HashMap做优化。

以上是关于天梯赛每日打卡05(41-45题解)的主要内容,如果未能解决你的问题,请参考以下文章

天梯赛每日打卡02(7-12题解)

天梯赛每日打卡03(13-25题解)

天梯赛每日打卡04(26-40题解)

团体程序设计天梯赛-练习集-*L1-043. 阅览室

团体程序设计天梯赛-练习集-L1-045. 宇宙无敌大招呼

Go语言入门150题 L1-045 宇宙无敌大招呼 (5 分) Go语言|Golang