文章目录

  • A - 课程报名
  • B - 期末考试成绩
  • C - 志愿者
  • D - 终端
  • E - 运气
  • 总结

A - 课程报名

题目描述
传智播客推出了一款课程,并进行了一次促销活动。具体来说就是,课程的初始定价为 vvv 元;每报名 mmm 个学员,课程的定价就要提升 aaa 元。由于课程能够容纳的学生有限,因此报名到 nnn 人的时候就停止报名。现在老师想知道,当课程停止报名时,一共可以获得多少学费呢?
输入格式
一行四个使用空格隔开的整数,分别为 nnn vvv mmm aaa
输出格式
一行一个整数,表示答案。
输入样例

5 1 1 1

输出样例

15

说明/提示
样例解释:每卖出 1 个课程,价格就会提高 1 元,所以总共获得 1+2+3+4+5=151+2+3+4+5=15 元。

数据规模与约定
对于 50%50\%50% 的数据,满足 1≤n,m,v,a≤101 \leq n,m,v,a\leq 101≤n,m,v,a≤10;
对于额外 20%20\%20% 的数据,满足 a=0a = 0a=0;
对于 100%100\%100% 的数据,满足 0≤n,m,v,a≤10000 \leq n,m,v,a \leq 10000≤n,m,v,a≤1000

#include <bits/stdc++.h>
using namespace std;int main()
{int n,v,m,a;cin>>n>>v>>m>>a;int t = 0;int num = 0;if(n > m){while(n>m){t = m*v;num = num+t;n = n-m;v = v+a;}if(n>0) num=num+n*v;else num = v*n;}cout<<num<<endl;return 0;
}

B - 期末考试成绩

题目描述
传智专修学院的 JavaJavaJava 程序设计课程的评价体系是这样的:首先,所有学生会有一个卷面得分,这个得分一定是一个 [0,100][0,100][0,100] 之间的整数。
如果卷面得分在 90 分以上,那么他的 GPAGPAGPA(加权平均成绩) 就是满分 4.0。
如果卷面得分在 60∼8960 \sim 8960∼89 之间,那么他每比 90 分少 1 分,那么他的分数就会在 4.0 的基础上减少 0.1。
如果卷面得分不到 60 分,那么善良的老师会给他照顾。具体来说,如果他的分数为 x ,那么老师会把他的分数调整为 x×\sqrt{x}\timesx​× 10xxx(向下取整) ,再计算他的 GPAGPAGPA。
如果经过调整该学生的得分依旧没满 60,那么他就挂科了,GPAGPAGPA 就是 0 分。
现在给你一个人的期末卷面得分,请你输出他的最终 GPAGPAGPA
输入格式
一行一个整数 xxx,表示该人的期末得分。
输出格式
一个小数点后只有一位的浮点数,表示该同学获得的 GPAGPAGPA。
请注意,如果有 .0 请保留。
输入样例

12

输出样例

0.0
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long LL;
int main()
{double x;cin>>x;if(x < 36) puts("0.0");else if( x >= 90) puts("4.0");else if(x >= 60 && x <= 89){int t = 90 - x;double te = (double) t * 0.1;printf("%.1f\n",4.0 - te);}else{double t = sqrt(x)*10;int tem = (int)t;int y = 90 - tem;double te = (double) y * 0.1;printf("%.1f\n",4.0 - te);}return 0;
}

C - 志愿者

题目描述
传智专修学院总共召集了 nnn 位志愿者来负责打扫活动,现在需要你负责帮忙统计每位志愿者的工作情况,用来制作光荣榜,给他们发小花花。第 iii 位志愿者有一个工作时长 tit_iti​ ,以及他负责的工作的难度系数 kik_iki​,一名志愿者的贡献度可以用 ki×tik_i \times t_iki​×ti​ 确定。
现在要为这些志愿者的贡献度从大到小排个序,请你完成这个任务。相同贡献度的志愿者以工作时长较长的排在前面。如果贡献和时长一样,那么编号小的志愿者排在前面。
输入格式
一行一个整数 nnn,表示志愿者的数量。
接下来 nnn 行,每行两个使用空格隔开的整数 ti,kit_i,k_iti​,ki​ ,表示第 iii 名志愿者的时间和难度系数。
输出格式
一行,共 nnn 个整数,第 iii 个数表示排名为 iii 的志愿者的序号,从 1 开始编号。请注意本题时限为 5s,输入输出规模较大,请注意常数因素对耗时的影响,我们不会给使用 JavaJavaJava 和 PythonPythonPython 的选手增加额外的运行时间。
输入样例

3
1 2
2 3
3 4

输出样例

3 2 1
#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5 + 7;
struct node{int id,t,k;bool operator < (const node &c){if(t * k != c.t*c.k) return (t*k) > (c.t*c.k);else if(t != c.t) return t > c.t;else return id < c.id;}
};
node a[maxn];
int main()
{int n;scanf("%d",&n);for(int i = 1; i <= n; i++){int t,k;scanf("%d%d",&t,&k);a[i] = {i, t, k};}sort(a+1, a+1+n);//  for(int i = 1; i <= n; i++) printf("%d  %d  %d\n",a[i].id,a[i].t,a[i].k);for(int i = 1; i <= n; i++) printf("%d ",a[i].id);return 0;
}

D - 终端

题目描述
有一天您厌烦了电脑上又丑又没用的终端,打算自己实现一个 TerminalTerminalTerminal。
具体来说,它需要支持如下命令:
1. touchfilenametouch filenametouchfilename:如果名为 filenamefilenamefilename 的文件不存在,就创建一个这样的文件,如果已经存在同名文件的话则不进行任何操作。
2. rmnamerm namermname:删除名为 namenamename 的文件。如果不存在这样的文件,就不进行任何操作。
3. lslsls:按创建时间为顺序,显示当前已经存在的未被删除的所有文件。
4. renamexxxyyyrename xxx yyyrenamexxxyyy:将名为 xxxxxxxxx 的文件名字改为 yyyyyyyyy。如果不存在这样的文件,或者已经存在文件名为 yyyyyyyyy 的文件,则不做任何操作。
这里所有涉及的文件名都仅由大写或者小写的英文字母构成,且文件名区分大小写。
输入格式
第一行一个整数 nnn ,表示总共要执行的操作数。
接下来 nnn 行,每行一个字符串,表示一条命令。
输出格式
对于每个 lslsls 命令,请输出若干行,每行一个字符串,表示一个文件,如果当前并没有任何文件,则什么都不输出。
请注意本题时限为 3s,输入输出规模较大,请注意常数因素对耗时的影响,我们不会给使用 JavaJavaJava 和 PythonPythonPython 的选手增加额外的运行时间。
输入样例

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

输出样例

yyhnb
yyhtql
qaq

说明/提示
对于 20%20\%20% 的数据,只存在 1,3 操作
对于另外 20%20\%20% 的数据,只存在 1,2,3 操作
对于另外 20%20\%20% 的数据,只存在 1,3,4 操作
对于 100%100\%100% 的数据,满足 1≤n≤10001 \leq n \leq 10001≤n≤1000
保证所有命令的长度不超过 2000 个字符。

#include <bits/stdc++.h>
using namespace std;
#define me(a, b) memset(a, b, sizeof(a))
#define IOS() ios::sync_with_stdio(false), cin.tie(0)
#define endl '\n'typedef long long ll;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii;
const int INF = 0x3f3f3f3f;
const int maxn = 2e5 + 5;
const ll mod = 1e9 + 7;map<string, int> m;int main()
{int n;cin >> n;for(int i = 0; i < n; ++i) {string s;cin >> s;if(s == "touch") {string t;cin >> t;if(!m.count(t))m[t] = i;}else if(s == "rename") {string x, y;cin >> x >> y;if(m.count(x) && !m.count(y)) {m[y] = m[x];m.erase(x);}}else if(s == "rm"){string t;cin >> t;m.erase(t);}else {vector<pair<int, string> > v;for(auto &it : m) {v.push_back(make_pair(it.second, it.first));}sort(v.begin(), v.end());for(auto it : v)cout << it.second << endl;}}return 0;
}

E - 运气

题目描述
哈兰·斯威提是 YYHLandYYH LandYYHLand 远近闻名的注铅骰子爱好者。有一天他碰到了这么一个问题:
你有一枚 6 个面的骰子,分别写了 1,2,3,4,5,6,每一面朝上的概率是均等的。
现在哈兰想知道,如果他投掷 nnn 次,并且将结果按顺序写在纸上成为一个数。(比如说如果哈兰扔了 3 次,分别是 3,2,5 ,那么他最后得到的数就是 325)他现在想知道这个数是 kkk 的倍数的可能情况有多少种,其中 kkk 是一个特定的数。
由于这个方案数可能会很大,所以请你输出结果对 109+710^9+7109+7 取模的结果。
输入格式
一行两个整数 n,kn,kn,k ,意义如题所示。
输出格式
一行一个整数,表示答案。
输入样例

2 11

输出样例

6

说明/提示
样例解释: 在投掷两次骰子总共 36 种可能中,只有(“11”,“22”,“33”,“44”,“55”,“66”) 是符合条件的。所以答案是 6。
数据规模与约定
对于 40%40\%40% 的数据,满足 nnn 分别为 1,2,3,4;
对于另外 30%30\%30% 的数据,满足 1≤k≤31 \leq k \leq 31≤k≤3;
对于 100%100\%100% 的数据,满足 1≤n≤101 \leq n \leq 101≤n≤10, 1≤k≤10001 \leq k\leq 10001≤k≤1000;

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn =2007;
const ll mod = 1e9+7;ll dp[15][1005];
int n,m;
int main()
{cin>>n>>m;dp[0][0]=1;for(int i=0;i<n;i++)for(int j=0;j<m;j++)for(int k=1;k<=6;k++)dp[i+1][(j*10+k)%m]=(dp[i+1][(j*10+k)%m]+dp[i][j])%mod;printf("%lld\n",dp[n][0]);return 0;
}

总结



今天智障杯 AAA 一直考虑 mmm = 0, wawawa 了 7次,最后一个动态规划理论正确的,确实水,如果不是 AAA 题卡了,应该 AKAKAK,过了 3 题,aaa 题罚时太高,水个区域三等奖,能混个学分就混,不能就算了,以后我是不会打 “传智杯” 了。

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

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

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

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

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

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

    A - 课程报名 A-课程报名洛谷题目链接 题目描述 传智播客推出了一款课程,并进行了一次促销活动.具体来说就是,课程的初始定价为v元:每报名m个学员,课程的定价就要提升a 元.由于课程能够容纳的学生 ...

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Luna的大学读书史(1,Intro)
  2. php封装pdo实例以及pdo长连接的优缺点
  3. 计算机组成原理精品课程申报书,【计算机科学与技术专业】【毕业设计】计算机组成原理精品课程平台的设计与实现...
  4. mysql innodb 锁_MySQL/InnoDB锁机制
  5. 两行代码完成特征工程-基于Python的特征自动化选择代码(提供下载)
  6. 轻松搞定对容器实例日志设置定期清理和回卷
  7. dubbo protocol port 消费者端_企业级 SpringBoot 与 Dubbo 的并用
  8. phpcms前台注入导致任意文件读取漏洞
  9. matlab trapz二重积分函数_matlab二重积分
  10. python自动执行脚本
  11. linux中的定时器检测按键,STM32单片机利用定时器实现按键采集
  12. [转载] Python将列表转换成字符串及字符串左右中对齐输出问题
  13. 这15个PDF转化工具
  14. 哪些技术会决定前端开发者的未来发展?
  15. 东华大学计算机考研大纲,2019年东华大学854计算机及软件工程专业基础综合考研初试大纲...
  16. 001、element-ui前言
  17. 当老师还是学计算机好,为什么大学里的计算机老师那么厉害,却不去当程序员拿高薪?...
  18. 郭炜-C语言程序设计-程序设计与算法(一)-第一周
  19. 采购管理系统--合同、采购单、发货单、返厂单管理
  20. python执行cmd命令,并获得返回值

热门文章

  1. excel根据条件列转行_excel怎么批量把行变成列
  2. sparksql语法,读json
  3. 栈迁移过程记录,栈指针rsp、rbp、rip、leave变化过程
  4. 只要1美元!教你给MacBook装上触摸屏
  5. Pulling is not possible because you have unmerged files.
  6. Java调用被子类重写的方法
  7. 计算机语言不能用中文吗,为什么不能用中文来做编程呢?
  8. 知識は潜在能力、行動は力CommentsAdd Star
  9. Matlab中读取excel表格数据
  10. kivy中on_press,on_release事件用代码设置函数的问题