首页 > 其他分享 >2024/6/12高一高考集训欢乐赛题解

2024/6/12高一高考集训欢乐赛题解

时间:2024-06-12 15:46:12浏览次数:22  
标签:四舍五入 12 -- 题解 2024 int && ed ri

目录

赛时榜

image
你说得对,但是
image
image
安禄山进长安——\(\huge{唐完了}\)

T1.Efim与奇怪的成绩

贪心题+小模拟。先说结论:从小数点往后找到第一个可以四舍五入的位置,然后开始四舍五入。证明:首先,小数位数靠后的如果四舍五入,收益肯定是没前面的四舍五入收益高,而且如果前面的可以进行四舍五入,其结果显然会覆盖掉后面所有数字四舍五入的效果。想通了这个,剩下的就是模拟了。代码如下。

代码

#include<bits/stdc++.h>
using namespace std;
#define ri register int
#define il inline
int a,b,pl,ed;
char in,c[1000000001];
bool use,bn,ze;
int main()
{
	freopen("grade.in","r",stdin);
	freopen("grade.out","w",stdout);
	c[0]='0';//必须初始化 
	scanf("%d%d",&a,&b);
	for(ri i=1;i<=a;i++)//在前面留一个位置,应对999.99 
	{
		scanf("%c",&in);
		if(in>='0'&&in<='9')
		{
			c[i]=in;
			continue;
		}
		if(in=='.')//记小数点位置 
		{
			c[i]=in;
			bn=true;
			pl=i;
			continue;
		}
		i--;//经典字符串防止读回车 
	}
	ed=a;
	while(c[ed]=='0')//记录有用数值终点,既防10.000又减下面的循环 
	{
		ed--;
	}
	for(ri i=pl+1;i<=ed;i++)
	{
		int j=i;
		while(b>0&&c[j]>='5')//可以四舍五入了 
		{
			use=true;//标记 
			if(j-1==pl)//一直四舍五入到了个位 
			{
				c[j-2]++;//直接加到个位上 
			}
			else
			{
				c[j-1]++;//往上加 
			}
			j--;
			b--;
			ed=j;//标记舍弃的位置 
		}
		if(use==true)
		{
			break;
		}
	}
	int h=pl-1;
	while(h>0&&c[h]>'9')//继续进位
	{
		c[h]='0';
		c[h-1]++;
		h--;
	}
	if(c[ed]=='.')//特判114.的情况 
	{
		ed--;
	}
	for(ri i=0;i<=ed;i++)
	{
		if(i==0&&c[i]=='0')//特判预留位是否输出 
		{
			continue;
		}
		if(c[i]>='0'&&c[i]<='9')//正常输出 
		{
			printf("%c",c[i]);
		}
		if(c[i]=='.')
		{
			printf("%c",c[i]);
		}
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}

T2. 美丽的IP地址

to be continue

标签:四舍五入,12,--,题解,2024,int,&&,ed,ri
From: https://www.cnblogs.com/ywhhdjser-97/p/18244006

相关文章

  • 2024年,计算机相关专业还值得选择吗?
            选择专业是一个个人决策,它取决于多种因素,包括个人兴趣、职业目标、市场需求和行业趋势。计算机科学和相关专业在2024年仍然是一个非常有前景的选择,原因如下:技术发展:计算机科学和技术是快速发展的领域,新技术和应用不断涌现,如人工智能、机器学习、大数据、云......
  • 【问题解决】java.util.jar.JarException: file:bcprov-jdk18on-1.78.jar is not sign
    现象启动程序报错,同时在classpath下有多个bcprov-jdk开头的包Causedby:java.util.jar.JarException:file:/C:/Users/93986/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk18on/1.78/619aafb92dc0b4c6cc4cf86c487ca48ee2d67a8e/bcprov-jdk18on-1.78.jaris......
  • Photoshop 2024 mac/win版:探索图像处理的全新境界
    Photoshop2024是Adobe推出的最新图像处理与设计软件,它在继承了前作所有优秀特性的基础上,实现了多个方面的质的飞跃。这款软件凭借其卓越的图像处理性能、丰富的创意工具以及精确的选区编辑功能,成为了图像处理领域的佼佼者。→→↓↓载Photoshop2024mac/win版 在功能上,Phot......
  • 2024.06.02《构建之法》阅读笔记
    在以往自己书写代码的时候,每次完成一个小功能都要自己来测试一下,但是这样做的救过并不理想。因为自己写的软件,一些自己可以想到的方面都进行了解决,而一些不能解决的问题是测试也不能够解决的。但是这样写好的程序还有没有BUG呢?而且只写BUG是否容易出现?是否能够解决呢?所以,这时就应......
  • 2024.06.03
    importosimportopenpyxlimportdatetimefromtkinterimport*fromtkinterimportmessagebox#Createthemainwindowjzr=Tk()jzr.title('个人账本记录')jzr.geometry('400x600')jzr.config(bg='lightyellow')#Createatextboxtodisplay......
  • 2024.06.04《个人总结》
      (大二下)课程总结——软件工程 1)回顾你的课程计划(第一周的计划),你完成的程度如何?请列出具体数据和实际例子。  1.你在这门课的计划是什么?参考一些学校的教学,你对这个课程有什么期待?你打算怎样度过这个课程?    计划就是尽力跟上建民老师的节奏同时,还能主动学习......
  • 2024.06.05
    【题目描述】编写程序,使用牛顿迭代法求方程在x附近的一个实根。【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。【输入格式】请在一行中输入方程系数a、b、c、d和实数x,数据中间以空格为间隔。【输出格式】对每一组输入的数据,输出牛顿迭代法求出的实根(......
  • 2024.06.06
    完成概率论、计网作业并提交python实验:importrefromcollectionsimportCounterimportrequestsfromlxmlimportetreeimportpandasaspdimportjiebaimportmatplotlib.pyplotaspltfromwordcloudimportWordCloudheaders={"User-Agent":"Mozilla/5.0(Wi......
  • 全国省市区县列表最新JSON2024最新
    2024最新JSON数据,2024年更新中国总共有23个省、5个自治区、4个直辖市、2个特别行政区。最近需要用到中国城市列表的json串数据,费了不少时间,终于得到了比较全面的数据暂时应该没有比我更全的了~~~得出以下数据json格式,XML格式(包含省市,县级市,县),总数:2893个因为JSON串比较长,有1......
  • 2024.05.21
    今日学习时长:83分钟;代码行数:41行博客数量:1篇今天主要开始了数据库实验三的操作,今天的大部分时长都在研究SQLserver数据库中的用户的新建和权限修改。SQLsever中直接用windows验证登录后可以在安全性—>登录名下新建一个用户,但是在切换为用户名+密码登录后,我发现我无法打开查......