文章目录

  • 前言
  • L1-026 I Love GPLT (5 分)
  • L1-029 是不是太胖了 (5 分)
  • L1-036 A乘以B (5 分)
  • L1-038 新世界 (5 分)
  • L1-040 最佳情侣身高差 (10 分)
  • L1-037 A除以B (10 分)
  • L1-031 到底是不是太胖了 (10 分)
  • L1-028 判断素数 (10 分)
    • log N 判断素数
    • 最快判断
  • L1-035 情人节 (15 分)
  • L1-033 出生年 (15 分)
  • L1-030 一帮一 (15 分)
  • L1-027 出租 (20 分)
  • L1-032 Left-pad (20 分)
  • L1-034 点赞 (20 分)
  • L1-039 古风排版 (20 分)

前言

水题比较多还是刷快一点好,今天是每日打卡第4天,然后这一次,我不仅仅要用java写题目了,我还要用Python,主要是java写,但是坑人的输入输出还有部分性能问题,评测问题为了拿分,必要时使用Python。

L1-026 I Love GPLT (5 分)


public class Main {public static void main(String[] args) {String Love = "I Love GPLT";char[] chars = Love.toCharArray();for (char aChar : chars) {System.out.println(aChar);}}
}

每日水题~

L1-029 是不是太胖了 (5 分)


import java.util.Scanner;public class Main  {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int height = scanner.nextInt();if(height>100 && height <=300){double wight = (height - 100) * 0.9;System.out.printf("%.1f",wight*2);}}
}

L1-036 A乘以B (5 分)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int A = scanner.nextInt();int B = scanner.nextInt();System.out.println(A*B);}
}

L1-038 新世界 (5 分)

print("Hello World")
print("Hello New World")

看到了吧,今天不是我飘了,而是那啥,水题比较多。

L1-040 最佳情侣身高差 (10 分)


import java.util.Scanner;public class Main {//  这里注意一下那个 split 没法提取出合适的结果public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();String [][]input=new String[n][2];for(int i=0;i<n;i++){for(int j=0;j<2;j++){input[i][j]=sc.next();}}for(int i=0;i<n;i++){if(input[i][0].equals("M")){double a=Double.parseDouble(input[i][1])/1.09;System.out.printf("%.2f",a);}if(input[i][0].equals("F")){double a=Double.parseDouble(input[i][1])*1.09;System.out.printf("%.2f",a);}if(i!=n-1){System.out.println();}}}}

L1-037 A除以B (10 分)


import java.util.Scanner;
public class Main {//别问,问就是卡出来 的public static void main(String[] args) {Scanner scanner = new Scanner(System.in);double A = scanner.nextInt();double B = scanner.nextInt();double j=0;if (B>0){j=A/B;System.out.printf("%.0f",A);System.out.print("/");System.out.printf("%.0f",B);System.out.print("=");System.out.printf("%.2f%n",j);}if(B<0){j=A/B;System.out.printf("%.0f",A);System.out.print("/(");System.out.printf("%.0f",B);System.out.print(")=");System.out.printf("%.2f%n",j);}if(B==0) {System.out.printf("%.0f",A);System.out.print("/");System.out.printf("%.0f",B);System.out.print("=");System.out.println("Error");}}
}

L1-031 到底是不是太胖了 (10 分)


没啥好说的继续水~


import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n=scanner.nextInt();String[][] body =new String [n][2];for(int i=0;i<n;i++) {for(int j=0;j<2;j++) {body[i][j]=scanner.next();}}for(int i=0;i<n;i++) {double wei=(Integer.parseInt(body[i][0])-100)*0.9*2;int weight=Integer.parseInt(body[i][1]);if(Math.abs(weight-wei)<wei*0.1) {System.out.println("You are wan mei!");}else if(weight>wei){System.out.println("You are tai pang le!");}else {System.out.println("You are tai shou le!");}}}
}

L1-028 判断素数 (10 分)

log N 判断素数

这里给出两个快速判断素数的方法,对了,1 不是素数,是一个广义素数。


import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = scanner.nextInt();for (int i = 0; i < N; i++) {int num = scanner.nextInt();if(isValid(num)){System.out.println("Yes");}else {System.out.println("No");}}}public static boolean isValid(int number){if(number==1){return false;}else {int n= (int) Math.sqrt(number);for (int i=2;i<=n;i++){if(number%i==0){return false;}}}return true;}
}

最快判断

这个我是特意查了一下这个公式的,有一个定理。

  public static boolean isOK(int number){if (number == 2 || number == 3){return true;}if (number % 6 != 1 && number % 6 != 5){return false;}for (int i = 5; i <= (Math.sqrt(number)); i += 6){if (number%i == 0 || number % (i + 2) == 0){return false;}}return true;}
}

使用这个方法即可。
不好记就用上面那个。

L1-035 情人节 (15 分)



这题怎么说,就这样做,不过现在只要是分数>=15的我都怕输入问题。
不过还好,这题没事。

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner =new Scanner(System.in);String[] Peoples=new String[100];int i=0;boolean flag=true;while (flag){String s = scanner.nextLine();if (s.equals(".")) {flag=false;}else {Peoples[i] = s;i++;}}if (Peoples[1]==null) {System.out.println("Momo... No one is for you ...");return;}if (Peoples[13] == null) {System.out.println(Peoples[1]+" is the only one for you...");return;}System.out.println(Peoples[1]+" and "+Peoples[13]+" are inviting you to dinner...");}
}

L1-033 出生年 (15 分)

这题注意细节就可以,然后可以直接枚举出来。

import java.util.Scanner;
public class Main {public static void main(String [] args) {Scanner input = new Scanner (System.in);int X = input.nextInt();int Y = input.nextInt();int year = 0;int Year [] = new int [4];for(int i = X; ; i++) {//暴力卡出来,枚举int count = 1;Year[0] = i / 1000;Year[1] = i % 1000 / 100;Year[2] = i % 100 / 10;Year[3] = i % 10;if(Year[0] != Year[1] && Year[0] != Year[2] && Year[0] != Year[3])count++;if( Year[1] != Year[2] && Year[1] != Year[3])count++;if( Year[2] != Year[3])count++;if(count == Y)    {year = i;break;}}System.out.print(year - X + " ");System.out.printf("%04d",year);}
}

L1-030 一帮一 (15 分)

这题也好办,找就好了。性别无符合,后面的往前走,然后删掉这两货。
可以直接用ArraryList 但是考虑到这玩意会移动(删掉元素后,所以还是老老实实用数组)


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 N=scanner.nextInt();String[]Names=new String[N];int[]Sexs=new int[N];for(int i=0;i<N;i++){Sexs[i]=scanner.nextInt();Names[i]=scanner.next();}for (int i=0;i<N/2;i++){for (int j=N-1;j>=N/2;j--){if(Sexs[i]!=Sexs[j]&&Sexs[j]!=-1){System.out.println(Names[i]+" "+Names[j]);//匹配完了Sexs[j]=-1;break;}}}}
}

接下来还剩下四个20分大题,为了安全起见,非必要用Python。

L1-027 出租 (20 分)

题目有点骚,其实我早就相关这个问题,如果是完全还原的话我不清除,但是这个案例里面可不是完全还原,那么就简单了。

import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(new BufferedInputStream(System.in));String Phone = scanner.next();char[] PhoneChars = Phone.toCharArray();int[] nums = new int[10];ArrayList<Integer> num = new ArrayList<>();for (char phoneChar : PhoneChars) {//此时按照顺序拿到了朕的数字nums[phoneChar-'0']++;}//数字for (int i = nums.length-1; i >=0; i--) {if(nums[i]!=0){num.add(i);}}int[] index = new int[11];for (int i = 0; i < PhoneChars.length; i++) {int ind = num.indexOf((int) (PhoneChars[i] - '0'));index[i]=ind;}show(index,num);}public static void show(int[] index,ArrayList<Integer> num){//int[] arr = new int[]{8,3,2,1,0};//int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};StringBuilder arr = new StringBuilder();arr.append("int[] arr = new int[]");StringBuilder index_ = new StringBuilder();index_.append("int[] index = new int[]");arr.append("{");for (int i = 0; i < num.size()-1; i++) {arr.append(num.get(i)).append(",");}arr.append(num.get(num.size()-1));arr.append("}").append(";");index_.append("{");for (int i = 0; i < index.length-1; i++) {index_.append(index[i]).append(",");}index_.append(index[index.length-1]);index_.append("}").append(";");System.out.println(arr);System.out.println(index_);}
}

我只想吐槽那个坑逼的输出格式。

L1-032 Left-pad (20 分)

好,干“好事”我辈义不容辞。
不过这题,考虑到 10^4 所以,那啥用Python。

N, S = input().split(' ')string = input()N = int(N)if N > len(string):print(S*(N-len(string)) + str(string))
else:print(string[-N:])

真滴,爽歪歪~~

L1-034 点赞 (20 分)

看到输入,我就果断选择Python。

x=int(input())
y=[]
a=[]
for i in range(x):z=[eval(i) for i in input().split()]z.pop(0)a.extend(z) #追加
a.sort(reverse=True)
for i in range(len(a)):if i==0:y.append(a.count(a[i]))else:if a[i]!=a[i-1]:y.append(a.count(a[i]))else:y.append(-1)
b=max(y)
print(a[y.index(b)],b)

L1-039 古风排版 (20 分)

这种题目就是要找规律


package com.huterox.Level1;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));String n_=scanner.nextLine();int n=Integer.parseInt(n_);String str=scanner.nextLine();char[] Chars=str.toCharArray();int m=str.length();int l=0;if(m%n==0) {l=m/n;}else {l=(int)(m/n)+1;}int sum=l*n;char[] ch1=new char[sum];for(int i=0;i<sum;i++) {if(i<m) {ch1[i]=Chars[i];}else {ch1[i]=' ';}}for(int i=0;i<n;i++) {int u=sum-n+i;for(int j=0;j<l;j++) {System.out.print(ch1[u-j*n]);}if(i<n-1) {System.out.println();}}}
}

天梯赛每日打卡04(26-40题解)相关推荐

  1. 2023年 团体程序设计天梯赛个人感悟及总结(附题解)——遗憾国三

    今年也是第一次参加了天梯赛,在这里也写一下自己的一些赛前准备.比赛过程的一些问题,以及赛后的一些总结以及感悟叭!首先赛前准备的话也不能说我准备的非常的充分吧,但是L2阶的题目我是真的刷的很猛很疯的呢, ...

  2. (每日一题)CF1139D Steps to One 2021年天梯赛 L3-3 可怜的简单题(期望,莫比乌斯反演,杜教筛)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 一周连考三门,人都没了 Weblink 2021年天梯赛 L3-3 可怜的简单题 CF1139D Pr ...

  3. PTA|团体程序设计天梯赛-练习题库集

    文章目录 关于爬取脚本的编写 L1-001 Hello World! (5 分) L1-002 打印沙漏 (15 分) L1-003 个位数统计 (15 分) L1-004 计算摄氏温度 (5 分) ...

  4. 团体程序设计天梯赛真题(部分题解,持续更新)

    文章目录 天梯赛真题 L1-008 求整数段和(10分) 输入格式: 输出格式: 输入样例: 输出样例: 解题过程: L1-018 大笨钟(10分) 输入格式: 输出格式: 输入样例1: 输出样例1: ...

  5. 满分简便代码——L1-049 天梯赛座位分配 (20分)

    立志用更少的代码做更高效的表达 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 ...

  6. L1-049 天梯赛座位分配

    L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...

  7. 集美大学第七届天梯赛校选题解

    目录 赛事总结 题目方面 出题组 难度把控 模拟程度 L1 基础级 L1-1 最菜的 算法思路 代码实现 L1-2 复读机 思路 代码实现 L1-3 JMU仓颉再现--绝绝子的何式汉字 题意 解题思路 ...

  8. 【PTA】2022年蓝桥杯及天梯赛赛前训练(C++练习)

    [PTA]2022年蓝桥杯及天梯赛赛前训练(C++练习) 前言 L1-1 嫑废话上代码 L1-2 猫是液体 L1-3 洛希极限 L1-4 调和平均 L1-5 胎压监测 L1-6 吃火锅 L1-7 前世 ...

  9. 计算机天梯赛pat练习集L1-(31~88题)

    文章目录: 31.到底是不是太胖了 32.Left-pad 33.出生年 34.点赞 35.情人节 36.A乘以B 37.A除以B 38.新世界 39.古风排版 40.最佳情侣身高差 41.寻找250 ...

最新文章

  1. 简单工厂模式(详细)(举例饮料)
  2. 使用vbs脚本检查网站是否使用asp.net
  3. ==与equal在java中应用的感悟
  4. 相近字符串的匹配--编辑距离问题
  5. UITableView性能优化 - 中级篇
  6. 道德如果一直在滑坡,终会酿成大祸,历朝历代,莫过于是……
  7. 欧姆龙PLC程序 本程序包括有欧姆龙CP1H脉冲程序案例,威纶通触摸屏程序
  8. Vue中点击url下载文件-案例
  9. URI与URL的区别
  10. HM5080E带平衡功能、5V USB输入、8.4V/1.5A两节锂电池充电IC
  11. matlab亮度对比度调节公式,图像编辑之对比度调整(亮度对比度的算法公式)
  12. PHP读取txt文件自动分成指定行数
  13. Windows云服务器上部署ASP.NET网站详解(新手适用)
  14. RethinkDB创始人教你如何找到创业创意(完整篇)
  15. yigo基础学习笔记2
  16. 湖南省工信厅党组书记、厅长雷绍业一行莅临麒麟信安调研
  17. AUTOCAD2012安装失败解决方法
  18. Linux 系统投屏显示
  19. 利用C#2005为你的软件制作小精灵
  20. h5 每页打印固定表头以及表尾 解决表头过长打印分页表头不固定问题

热门文章

  1. 【小猫爪】AUTOSAR学习笔记01-AUTOSAR架构简介
  2. VJ第一周个人训练赛
  3. 后台单字段修改,更新
  4. 炸串常规店对拼夜市经济,“夸父”能火多久?
  5. lv蒙田包二手价格_意大利买LV蒙田包
  6. ekf估计电池soc过程推导(一)状态方程列写及离散化
  7. 【数据结构】顺序表(C++)
  8. 写给闺蜜的生日说说文案
  9. JS object 添加元素 数组添加对象
  10. JS ES6 加减乘除法小数浮点数计算BUG解决