记录洛谷刷题QAQ


一、【Mc生存】经验值

题目背景

初一福利第2弹。。。

题目描述

话说 clearman 在 MC 世界开了个祥艺奶牛场,用熔浆、TNT 等丧心病狂的折磨牛,获取牛肉、牛奶等刷经验。他想知道他到底达到什么层次。

他总共进行了 n n n 项操作,每次操作要付出 x x x 生命值(初始生命是 10 10 10 点,初一党都知道!并且要先计算付出的生命值,如果小于等于 0 0 0,则死亡,本次即以下操作都无效。但切记:付出生命值可以是负数,也就是说可以回复 − x -x −x 点生命值,但上限只能是 10 10 10!切记!),每次操作可以获得 a a a 经验值(不能为负),他最后能达到 m m m 级 t t t 经验。

P.S. 关于等级

初始等级为 0 0 0。每加 2 m 2^m 2m( m m m 为当前等级)点经验可升一级。

1、假设 clearman 一共得到 15 15 15 点经验,那么他应该为 4 4 4 级( 15 − 1 − 2 − 4 − 8 = 0 15-1-2-4-8=0 15−1−2−4−8=0)加 0 0 0 点经验。
2、假设 clearman 一共获得 39 39 39 点经验,那么他应该为 5 5 5 级( 39 − 1 − 2 − 4 − 8 − 16 = 8 39-1-2-4-8-16=8 39−1−2−4−8−16=8)加 8 8 8 点经验。

输入格式

第一行一个正整数 n n n,表示操作个数。

接下来 n n n 行,每行两个数,为 clearman 的一次操作。

输出格式

一行,为等级和经验值。

样例 #1

样例输入 #1

2
5.5 15
4.5 24

样例输出 #1

4 0

提示

数据很弱,人肉输的,但是很坑。。。

【数据范围】
对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 20 1\le n \le 20 1≤n≤20。

代码如下:

#include <stdio.h>int main(void)
{int n;         //n项操作double HP = 10;      //总生命值,初始化为10,上限是10int LV = 0;       //等级,初始化为1int EXP = 0;      //总经验值,初始化为0double de_HP;        //减少的生命值int in_EXP;     //增加的经验值int EXP_per_LV = 1;    //每次升级所需要的经验值scanf("%d", &n);for (int i = 0; i < n; i++){scanf("%lf %d", &de_HP, &in_EXP);//若死亡,跳出循环if (HP - de_HP <= 0){break;}HP -= de_HP;EXP += in_EXP;//上限是10if (HP > 10){HP = 10;}}while (EXP >= EXP_per_LV){EXP -= EXP_per_LV;LV++;EXP_per_LV *= 2;}printf("%d %d\n", LV, EXP);return 0;
}

二、开灯

题目背景

该题的题目是不是感到很眼熟呢?

事实上,如果你懂的方法,该题的代码简直不能再短。

但是如果你不懂得呢?那。。。(自己去想)

题目描述

首先所有的灯都是关的(注意是关!),编号为 1 1 1 的人走过来,把是 1 1 1 的倍数的灯全部打开,编号为 2 2 2 的人把是 2 2 2 的倍数的灯全部关上,编号为 3 3 3 的人又把是 3 3 3 的倍数的灯开的关上,关的开起来……直到第 N N N 个人为止。

给定 N N N,求 N N N 轮之后,还有哪几盏是开着的。

输入格式

一个数 N N N,表示灯的个数和操作的轮数。

输出格式

若干数,表示开着的电灯编号。

样例 #1

样例输入 #1

5

样例输出 #1

1 4

提示

【数据范围】

对于 100 % 100 \% 100% 的数据, 1 ≤ N ≤ 2 40 1 \le N \le 2^{40} 1≤N≤240。

【其他说明】

数学题!

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>int main(){int n;scanf("%d",&n);for(int i = 1;i <= sqrt(n);i++){printf("%d ",i*i);}return 0;
}

三、乘积最大3

题目描述

请你找出 M M M 个和为 N N N 的正整数,他们的乘积要尽可能的大。

输出字典序最小的一种方案。

输入格式

一行,两个正整数 N , M N,M N,M

输出格式

M M M 个和为 N N N 的,乘积尽可能的大的正整数。

样例 #1

样例输入 #1

6 3

样例输出 #1

2 2 2

提示

对于100%的数据, 1 ≤ N ≤ 1 0 9 , 1 ≤ M ≤ 1 0 6 1 \le N \le 10^{9},1 \le M \le 10^{6} 1≤N≤109,1≤M≤106。数据保证 N ≥ M N \geq M N≥M。

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>int main(){int n, m;//m个和为n的,乘积尽可能大的正整数scanf("%d %d",&m,&n);for(int i = 1;i <= n-(m%n);i++){printf("%d ",m/n);   }for(int i = 1;i <= m%n;i++){printf("%d ",m/n+1);}return 0;
}

四、三角函数

题目描述

输入一组勾股数 a , b , c ( a ≠ b ≠ c ) a,b,c(a\neq b\neq c) a,b,c(a=b=c),用分数格式输出其较小锐角的正弦值。(要求约分。)

输入格式

一行,包含三个正整数,即勾股数 a , b , c a,b,c a,b,c(无大小顺序)。

输出格式

一行,包含一个分数,即较小锐角的正弦值

样例 #1

样例输入 #1

3 5 4

样例输出 #1

3/5

提示

数据保证: a , b , c a,b,c a,b,c 为正整数且 ∈ [ 1 , 1 0 9 ] \in [1,10^9] ∈[1,109]。

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>long long gcd(long long x, long long y) //辗转相除
{   long long z = y;while(x%y!=0){z = x%y;x = y;y = z; }return z; //返回最小公因数
}
int main(){long long a, b, c;scanf("%lld%lld%lld",&a,&b,&c);//找到最小值和最大值long long max, min;if(a>b&&a>c)  max = a;if(b>c&&b>a) max = b;if(c>a&&c>b) max = c;if(c<a&c<b)  min = c;if(b<a&&b<c) min = b;if(a<b&&a<c) min = a;// long long num = gcd(min,max);printf("%lld/%lld",min/gcd(min,max),max/gcd(min,max)); return 0;
}

五、电梯里的爱情

题目背景

木有……

题目描述

细心的同事发现,小 W 最近喜欢乘电梯上上下下,究其原因,也许只有小W自己知道:在电梯里经常可以遇到他心中的女神 PR。

电梯其实是个很暧昧的地方,只有在电梯里,小 W 才有勇气如此近距离接近女神,虽然觉得有点不自在,但次数多了,女神也习惯了小 W 的存在,甚至熟悉到仿佛不说上句话自己也都觉得不合适了。可是,他们的谈话也仅仅限于今天天气不错啊或是你吃了吗之类的,往往在对方微笑点头后就再次陷入难堪的沉默之中。 于是,小 W 便在陪伴女神的同时,也关注着电梯中显示的楼层数字,并且他注意到电梯每向上运行一层需要 6 6 6 秒钟,向下运行一层需要 4 4 4 秒钟,每开门一次需要 5 5 5 秒(如果有人到达才开门),并且每下一个人需要加 1 1 1 秒。

特别指出,电梯最开始在 0 0 0 层,并且最后必须再回到 0 0 0 层才算一趟任务结束。假设在开始的时候已知电梯内的每个人要去的楼层,你能计算出完成本趟任务需要的总时间吗?

这是个很简单的问题,要知道,小 W 已经修炼到快速心算出结果的境界,现在你来编程试试吧!

输入格式

共 2 2 2 行

第 1 1 1 行,一个正整数 n n n,表示乘坐电梯的人数。

第 2 2 2 行, n n n 个正整数, a i a_{i} ai​ 表示第 i i i 个人要去的楼层。

输出格式

仅 1 1 1 行,一个正整数,表示完成这趟任务需要的时间。

样例 #1

样例输入 #1

4
2 4 3 2

样例输出 #1

59

提示

对于 60 % 60\% 60% 的数据 0 < n < 1 0 4 0<n<10^4 0<n<104

对于 100 % 100\% 100% 的数据 0 < n < 1 0 5 0<n<10^5 0<n<105, 0 < a i ≤ 2 × 1 0 7 0<a_{i}\leq 2\times 10^7 0<ai​≤2×107。

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>int main(){ int n;//人数scanf("%d",&n);int num[n];for(int i = 0;i < n;i++){scanf("%d",&num[i]); } int max = 0;for(int i = 0;i < n;i++){if(num[i]>= max)max = num[i];}int N[max+1];for(int i = 0;i <= max;i++){N[i] = 0;}for(int i = 0;i < n;i++){N[num[i]]++;}long long time = 0;for(int i = 1;i <= max;i++){ if(N[i]!=0)time =  time + N[i] + 5;}time = time + max*10;printf("%lld\n",time);return 0;
}

洛谷刷题C语言:【Mc生存】经验值、开灯、乘积最大3、三角函数、电梯里的爱情相关推荐

  1. 洛谷刷题C语言:潇湘の雨、分糖果、Addition、Ljeto、TRI

    记录洛谷刷题C语言QAQ 「PMOI-0」潇湘の雨 题目背景 (原 LZOI-1,改名已经 PMOI 成员同意) lhm-01 题目描述 言琢დ 在一个 2n×2n2n \times 2n2n×2n ...

  2. 洛谷刷题C语言:Bold、饱食、公平の意、DOM、

    记录洛谷刷题C语言qaq [COCI2020-2021#6] Bold 题目描述 Paula 给 Daniel 写了一封信,她需要加粗文本的字体,以便视力恶化的 Daniel 阅读. 信可以用 . 和 ...

  3. 洛谷刷题C语言:陶瓷项链、Cow Gymnastics B、Where Am I? B、Hello, 2020!、SIR 模型

    记录洛谷刷题C语言 一.[NOI2000] 瓷片项链 题目描述 原始部落用一种稀有的泥土烧制直径相同的圆瓷片并串成项链,串的时候沿瓷片的直径方向顺次连接,瓷片之间没有空隙也不重叠,一条项链至少由一个瓷 ...

  4. 洛谷刷题C语言:切蛋糕、概率、Bridž、NOTE、DOMINO

    记录洛谷刷题C语言qaq [NOI Online 2021 入门组] 切蛋糕 题目描述 Alice.Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕. 三个人的需求量分别为 ...

  5. 洛谷刷题C语言:Physics Problem、PARKING、Trol、信息学竞赛、POT

    记录洛谷刷题C语言 「dWoi R1」Physics Problem 题目背景 面对白板上的物理题,王马陷入了沉思 -- 题目描述 有 nnn 个状态,编号为 111 到 nnn.这 nnn 个状态之 ...

  6. 洛谷刷题C语言:Fergusonball Ratings、Don‘t Mozheng. /oh、gcd.、幻想乡扑克游戏、PMTD

    记录洛谷刷题C语言qaq [CCC2022 J2] Fergusonball Ratings 题目描述 现在有一个球队需要你评价. 球队中的第 i i i 个人进了 a i a_i ai​ 个球,犯规 ...

  7. 洛谷刷题C语言:远古档案馆(Ancient Archive)、VOLIM、SAHOVNICA、Tuna、KRIŽALJKA

    记录洛谷刷题C语言qaq,都是些不优雅的代码 远古档案馆(Ancient Archive) 题目背景 为了揭开月光能量背后的秘密,你来到了地下的远古档案馆. 远古一族的秘密与遗忘的知识悉数贮藏于这片被 ...

  8. 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序

    记录洛谷刷题QAQ 一.[深基3.例3]闰年判断 题目描述 输入一个年份,判断这一年是否是闰年,如果是输出 111,否则输出 000. 输入格式 输入一个正整数 nnn,表示年份. 输出格式 输出一行 ...

  9. 洛谷刷题C语言:数字反转、再分肥皂水、三角形面积、Apples Prologue/苹果和虫子、数的性质

    记录洛谷刷题QAQ,一些不大优雅的代码 一.[深基2.例7]数字反转 题目描述 输入一个不小于 100100100 且小于 100010001000,同时包括小数点后一位的一个浮点数,例如 123.4 ...

最新文章

  1. 用python读取stata文件及写入and注意事项
  2. 计算机网络实验进入实时模式,计算机网络实验1 PacketTrace基本使用.doc
  3. 51nod-猴猴吃苹果【线段树】
  4. 图像处理中常见的时域与频域区别与关系
  5. 31岁博士副县长拟提任正处,3年前毕业被人才引进
  6. 写给小白的机器学习之数据表示与特征工程详解(附实战代码)
  7. [7.14更新日志]CRP编译缓存和海外构建让编译健步如飞!
  8. check mk mysql_Mysql管理必备工具Maatkit详解之四(mk-duplicate-key-checker)
  9. URAL - 1153 Supercomputer 大数开方
  10. 安徽大学计算机专硕奖学金,2019年安徽大学新闻传播跨考华东师范大学计算机专硕,总分418,排名第一经验分享!...
  11. matlab实现zca去白化,白化算法
  12. 机器学习小组知识点4:批量梯度下降法(BGD)
  13. 人工智能安全(五)—梯度攻击
  14. 【PTA乙级】【1096 大美数 (15 分)】
  15. Android系统电池管理(PowerManagerService)框架分析及其在实体设备和虚拟设备上的差异(一)
  16. VIBE运动检测算法实现(二)
  17. html渐变色css3渐变,css3渐变
  18. C语言 --- 动态内存管理(上)+优化版通讯录+笔试题
  19. P2P之关资金存管(二)模式
  20. 无人便利店代理的系统用于其他行业是否可以

热门文章

  1. Python Hander处理器以及自定义opener使用步骤
  2. 程序员未来会成为非常内卷化的职业吗?
  3. pypy加速python
  4. 【API 接口设计】重放攻击
  5. android+siri人工智能语言软件,苹果系统新增翻译功能,网友惊呼人工智能太强大...
  6. windows10磁盘简单卷转化回主分区
  7. python微信公众号爬虫_微信公众号推送信息爬取---python爬虫
  8. vscode 简单配置mingw64
  9. 从入门DeepWalk到实践Node2vec
  10. 请记住我,我叫叶良辰