天梯赛每日打卡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题解)的主要内容,如果未能解决你的问题,请参考以下文章