A - 课程报名

A-课程报名洛谷题目链接

题目描述

传智播客推出了一款课程,并进行了一次促销活动。具体来说就是,课程的初始定价为v元;每报名m个学员,课程的定价就要提升a 元。由于课程能够容纳的学生有限,因此报名到 n人的时候就停止报名。

现在老师想知道,当课程停止报名时,一共可以获得多少学费呢?

输入格式

一行四个使用空格隔开的整数,分别为 n,v,m,a。

输出格式

一行一个整数,表示答案。

输入输出样例

输入

5 1 1 1

输出

15

说明/提示

样例解释

每卖出 1个课程,价格就会提高 1元,所以总共获得 1+2+3+4+5=15元。

数据规模与约定

对于 50% 的数据,满足1≤n,m,v,a≤10;

对于额外20% 的数据,满足 a=0;

对于100% 的数据,满足0≤n,m,v,a≤1000。

然而,由于本次比赛是 ACM 赛制,因此您必须通过100% 的数据才能够获得本题的得分,后题同。

代码:

package _传智杯.初赛._3;import java.util.Scanner;public class 课程报名 {public static void main(String args[]){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int v=sc.nextInt();int m=sc.nextInt();int a=sc.nextInt();int res=0;int person=0;for(int i=1;i<=n;i++){person++;res+=v;if(person==m){v+=a;person=0;}}System.out.println(res);}
}

B-期末考试成绩

B_期末考试成绩洛谷链接

题目描述

传智专修学院的 Java 程序设计课程的评价体系是这样的:

首先,所有学生会有一个卷面得分,这个得分一定是一个 [0,100][0,100] 之间的整数。

如果卷面得分在90分以上,那么他的 GPA(加权平均成绩) 就是满分 4.0。

如果卷面得分在60∼89之间,那么他每比90分少1分,那么他的分数就会在4.0的基础上减少 0.1。

如果卷面得分不到60分,那么善良的老师会给他照顾。具体来说,如果他的分数为x,那么老师会把他的分数调整为(向下取整) ,再计算他的 GPA。

如果经过调整该学生的得分依旧没满 60 ,那么他就挂科了,GPA 就是 0 分。

现在给你一个人的期末卷面得分,请你输出他的最终 GPA

输入格式

一行一个整数 x,表示该人的期末得分。

输出格式

一个小数点后只有一位的浮点数,表示该同学获得的GPA。

请注意,如果有 .0 请保留。

输入输出样例

输入 #1

99

输出 #1

4.0

输入 #2

88

输出 #2

3.8

输入 #3

12

输出 #3

0.0

说明/提示

对于 20% 的数据,满足90≤x≤100;
对于额外 30% 的数据,满足 60≤x≤100;
对于 100% 的数据,满足 0≤x≤100。

代码:

package _传智杯.初赛._3;import java.util.Scanner;public class B_期末考试成绩 {public static void main(String args[]){Scanner sc=new Scanner(System.in);int x=sc.nextInt();double res=0.0;if(x>=90)res=4.0;if(x>=60&&x<=89)res=(x-50)/10.0;if(x<60){int x1= (int)(Math.sqrt(x)*10);if(x1<60)res=0.0;elseres=(x1-50)/10.0;}System.out.println(res);}
}

C-志愿者

C-志愿者洛谷链接

题目描述

传智专修学院总共召集了 n 位志愿者来负责打扫活动,现在需要你负责帮忙统计每位志愿者的工作情况,用来制作光荣榜,给他们发小花花。

第 ii 位志愿者有一个工作时长 ​ ,以及他负责的工作的难度系数 ​ ,一名志愿者的贡献度可以用 确定。

现在要为这些志愿者的贡献度从大到小排个序,请你完成这个任务。相同贡献度的志愿者以工作时长较长的排在前面。如果贡献和时长一样,那么编号小的志愿者排在前面。

输入格式

一行一个整数 n ,表示志愿者的数量。

接下来 n 行,每行两个使用空格隔开的整数,表示第 i 名志愿者的时间和难度系数。

输出格式

一行,共 n 个整数,第 i 个数表示排名为 i 的志愿者的序号,从 1 开始编号。

请注意本题时限为 5s,输入输出规模较大,请注意常数因素对耗时的影响,我们不会给使用 Java 和 Python 的选手增加额外的运行时间。

输入输出样例

输入 #1

3
1 2
2 3
3 4

输出 #1

3 2 1

说明/提示

对于 40% 的数据,满足 1≤n≤100;
对于额外20% 的数据,满足 =1;
对于 100\%100% 的数据,满足 ,

然而,由于本次比赛是 ACM 赛制,因此您必须通过 100% 的数据才能够获得本题的得分,后题同。

分析

定义一个Volunteer类存放志愿编号、时长、难度、贡献,自定义排序方法,建立对象数组,用Arrays.sort给各志愿者按要求排序即可。

代码:

package _传智杯.初赛._3;import java.util.Arrays;
import java.util.Scanner;public class C_志愿者 {static class Volunteer implements Comparable<Volunteer>{public int id;public int t;public int k;public int gx;public int compareTo(Volunteer v){//return 1交换次序 -1不交换次序//说明改对象比后一个对象gx值大,不需要交换因此返回-1if(this.gx>v.gx){return -1;}else if(this.gx==v.gx){//说明改对象与后一个对象gx值相等,该对象的t比后一个对象的t大,不需要交换对象,因此返回-1if(this.t>v.t){return -1;}else if(this.t==v.t){if(this.id<v.id){return -1;}}}//说明改对象比后一个对象gx值小,需要交换因此返回1return 1;}}public static void main(String args[]) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();Volunteer v[]=new Volunteer[n];for(int i=0;i<n;i++){Volunteer v1=new Volunteer();v1.id=i+1;v1.t=sc.nextInt();v1.k=sc.nextInt();v1.gx=v1.t*v1.k;v[i]=v1;}Arrays.sort(v);for(int i=0;i<n;i++){if(i!=n-1)System.out.print(v[i].id+" ");elseSystem.out.print(v[i].id);}}
}

D-终端

D_终端洛谷链接

题目描述

有一天您厌烦了电脑上又丑又没用的终端,打算自己实现一个 Terminal。

具体来说,它需要支持如下命令:

  1. touch filename:如果名为 filename 的文件不存在,就创建一个这样的文件,如果已经存在同名文件的话则不进行任何操作。

  2. rm name:删除名为 name 的文件。如果不存在这样的文件,就不进行任何操作。

  3. ls:按创建时间为顺序,显示当前已经存在的未被删除的所有文件。

  4. rename xxx yyy:将名为xxx的文件名字改为 yyy 。如果不存在这样的文件,或者已经存在文件名为 yyy 的文件,则不做任何操作。

这里所有涉及的文件名都仅由大写或者小写的英文字母构成,且文件名区分大小写。

输入格式

第一行一个整数 n ,表示总共要执行的操作数。

接下来 n 行,每行一个字符串,表示一条命令。

输出格式

对于每个 ls 命令,请输出若干行,每行一个字符串,表示一个文件,如果当前并没有任何文件,则什么都不输出。

请注意本题时限为 3s,输入输出规模较大,请注意常数因素对耗时的影响,我们不会给使用 Java 和 Python 的选手增加额外的运行时间。

输入输出样例

输入 #1

6
touch yyh
touch yyhtql
rename yyh yyhnb
touch qwq
rename qwq qaq
ls

输出 #1

yyhnb
yyhtql
qaq

说明/提示

对于 20% 的数据,只存在 1,3 操作

对于另外 20% 的数据,只存在 1,2,3 操作

对于另外 20% 的数据,只存在 1,3,4 操作

对于 100% 的数据,满足 

保证所有命令的长度不超过 2000个字符。

分析

首先选取合适的数据结构,根据题目分析发现使用列表最为方便,插入即为add,删除remove,遍历get,修改set,模拟即可。

代码:

package _传智杯.初赛._3;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class D_终端 {public static int getIndex(String s,List<String>list){for(int i=0;i<list.size();i++){if(list.get(i).equals(s)){return i;}}return -1;}public static void main(String args[]){Scanner sc=new Scanner(System.in);int n=sc.nextInt();List<String>list=new ArrayList<>();for(int i=0;i<n;i++){String s1=sc.next();if(s1.equals("touch")){String file=sc.next();if(!list.contains(file)){list.add(file);}}if(s1.equals("rm")){String rmfile=sc.next();for(int j=0;j<list.size();j++){if(list.contains(rmfile)){list.remove(rmfile);}}}if(s1.equals("ls")){for(int j=0;j<list.size();j++){System.out.println(list.get(j));}}if(s1.equals("rename")){String oldfile=sc.next();String newfile=sc.next();if(list.contains(oldfile)&&!list.contains(newfile)){int index=getIndex(oldfile,list);if(index!=-1){list.set(index,newfile);}}}}}
}

E-运气

E_运气洛谷链接

题目背景

YYH Land(Yoauld,Youthful & Happy Land) 是位于炽蓝仙野的一片神奇的国度,那里的人们过着无拘无束的的快乐生活。

题目描述

哈兰·斯威提是 YYH Land 远近闻名的注铅骰子爱好者。有一天他碰到了这么一个问题:

你有一枚 6 个面的骰子,分别写了 1,2,3,4,5,6 每一面朝上的概率是均等的。

现在哈兰想知道,如果他投掷 n 次,并且将结果按顺序写在纸上成为一个数。(比如说如果哈兰扔了 3 次,分别是 3,2,5 那么他最后得到的数就是 325)他现在想知道这个数是 k 的倍数的可能情况有多少种,其中 k 是一个特定的数。

由于这个方案数可能会很大,所以请你输出结果对  取模的结果。

输入格式

一行两个整数 n,k 意义如题所示。

输出格式

一行一个整数,表示答案。

输入输出样例

输入 #1

2 11

输出 #1

6

说明/提示

样例解释

在投掷两次骰子总共 36 种可能中,只有 ("11","22","33","44","55","66") 是符合条件的。所以答案是 6。

数据规模与约定

对于 40% 的数据,满足 n 分别为 1,2,3,4;
对于另外 30% 的数据,满足 
对于 100% 的数据,满足 

注意

该题目数据可能较大,因此记录结果时需使用long型而不是int型

代码:

package _传智杯.初赛._3;import java.util.Scanner;public class E_运气 {static int n;static int k;static long res=0;public static void check(String s){long l=Long.parseLong(s);if(l%k==0)res++;}public static void dfs(int num,String s){if(num==n){check(s);return;}for(int i=1;i<=6;i++){dfs(num+1,s+i);}}public static void main(String args[]){Scanner sc=new Scanner(System.in);n=sc.nextInt();k=sc.nextInt();dfs(0,"");System.out.println(res%(long)(Math.pow(10,9)+7));}
}

有问题可私信或评论,看到后会第一时间回复!!

第三届“传智杯”全国大学生IT技能大赛(初赛)-Java B组题解相关推荐

  1. 2021年第三届传智杯全国大学生IT技能大赛(决赛B组)

    T172096 课程 题目背景 disangan233 喜欢数数,于是他想让你帮他回答一个问题. 题目描述 传智专修学院提供 A,B 两个课程,分别有 n,m个学生报名.报名 A 的学生的编号为 an ...

  2. 第三届传智杯全国大学生IT技能大赛(决赛B组)【c++】

    https://www.luogu.com.cn/contest/42328 目录 T172096 课程 T172097 序列 T172098 子串 T172099 打牌 T172100 商店 T17 ...

  3. 第三届“传智杯”全国大学生IT技能大赛(初赛B组)题解合集

    文章目录 A - 课程报名 B - 期末考试成绩 C - 志愿者 D - 终端 E - 运气 总结 A - 课程报名 题目描述 传智播客推出了一款课程,并进行了一次促销活动.具体来说就是,课程的初始定 ...

  4. (附AK代码)第四届“传智杯”全国大学生IT技能大赛(决赛B组)题解

    未完全完成,很快会更新. 第四届"传智杯"大赛(决赛B组)题解目录 A:小智的疑惑 1.题目概述 2.解析 3.AC代码 B:三元组 1.题目概述 2.解析 3.AC代码 C:排排 ...

  5. 第三届“传智杯”全国大学生IT技能大赛(初赛B组)【C++】

    当时的我只会纯c,打的排名真的恶心.后来学了c++才发现. 当时的题真的简单,完全可以轻松的AK. https://www.luogu.com.cn/contest/38793 目录 T160507 ...

  6. 第四届“传智杯”全国大学生IT技能大赛(决赛B组)【题解】

    感觉都是暴力题或者类似原题,就是手速场. 目录 A. 小智的疑惑 B. 三元组 C. 排排队 D. 背单词的小智 F1. 生活在树上(easy version) A. 小智的疑惑 比赛的时候写的KMP ...

  7. 第四届传智杯全国大学生IT技能大赛 初赛B组题解 -- D题

    题目:小卡与质数2 Description 小卡最近迷上了质数,所以他想把任何一个数都转化为质数! 小卡有 T 次询问,每次给你一个数字 x,问有多少个比 x 小的非负整数 y,使得 x⊕y 是质数, ...

  8. 2022年第五届“传智杯”全国大学生IT技能大赛——程序设计挑战赛

    邀您参加第五届"传智杯"全国大学生IT技能大赛 https://m.saikr.com/active/templete/czb/1667799418?spread_code=A73 ...

  9. 第四届“传智杯”全国大学生IT技能大赛-Java B组题解

    A组原成绩 A-组原成绩 题目描述 花栗鼠科技大学(Hualishu University of Science and Technology, HUST)的计算机组成原理快要出分了.你现在需要计算你 ...

最新文章

  1. web项目_学生证管理系统
  2. Protege A DOT error has occurred错误
  3. JAVA订单的输入输出_Java的输入/输出操作
  4. 分析PCB技术印制电路板的可靠性设计(z)
  5. tyvj/joyOI 1305-最大子序和【单调队列】
  6. MVC Area Usage
  7. 查看SELinux状态
  8. 如何判断一个new出来的空对象
  9. android编辑配置文件,如何在android studio中修改配置文件
  10. JavaScript 基本语法及面试注意点
  11. IDE---- 在 开发工具中使用 Maven
  12. facebook开源的prophet时间序列预测工具---识别多种周期性、趋势性(线性,logistic)、节假日效应,以及部分异常值
  13. fopen()和fgetl()打开问件,读取内容
  14. (一)Flask 学习 —— Hello World
  15. IPv4如何转换为IPv6?
  16. 上海航芯 | 从STM32F103到ACM32F403的U盘程序移植工程
  17. unity reflect_Unity Reflect在这里
  18. 3D游戏角色建模设计这样做,模型满分!
  19. linux运维工程师问题,2、Linux运维工程师之解决问题思路
  20. 数字图像处理Python语言实现-图像增强-导向滤波(Guided Filter)

热门文章

  1. css背景渐变(灰色渐变背景)
  2. java中设置基偶隔行换色_Excel2016中奇偶行填充不同颜色的方法
  3. 大数据常见错误及解决方案
  4. 半同步半异步模式 -------一个架构模式,清晰的结构,高效并发的I/O
  5. 计算机可移动磁盘无法显示图片,移动硬盘显示不出来怎么办 移动硬盘不显示解决办法【详解】...
  6. 马哥教育SRE笔记【作业】week05
  7. python写一个飞花令程序
  8. cesium获取模型高度_180套经典夹具设计方案(附详解+模型),原来夹具设计这么简单!...
  9. 刚刚开始学AT89S52单片机遇到的一些小问题 + 个人解决办法
  10. Apple watch 心率监测的原理是什么