首页 > 其他分享 >「AWOI Round 2 A」最大和

「AWOI Round 2 A」最大和

时间:2023-08-18 17:23:48浏览次数:28  
标签:10 a% 最大 int sum AWOI 当前 Round 总和

嘿嘿,来水题解了。题目链接

题目简化

给你一个数,从它的个位到最高位进行操作,对于其每一位,你可以选择让他增加 \(1\),减少 \(1\)(如果当前位是 \(0\),减 \(1\) 后会退位) 或者不变。

分析

要使每一位的总和最大,我们可以对每一位进行判断。

  • 如果当前位不是 \(0\) 和 \(9\),那么显然要加一。如:\(12\),最大总和即为每一位加一再相加。

  • 如果当前位是 \(0\) 就减一。简单证明: \(-1\) 后,当前位变成 \(9\),下一位因为退位需要 \(-1\)。这样子总和增加了 \(9-1=8\),显然比增加 \(1\) 更优。如 \(100\),最大总和即为个位减一再相加 \((99)\)。当然,如果 \(a=0\) 就要特判。

  • 当前位上的数值为 \(9\) 时,不需要操作,证明平凡,和上面相似。

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	while(n--){
		int a,sum=0;
		cin>>a;
		if(a==0) sum=1;//特判
		else {
			while(a!=0){
				if(a%10==0) a-=1;//当前值为0时
				else if(a%10!=9) a+=1;//当前值为1~8时
				//为9时不变
				sum+=(a%10);//加和
				a/=10;
			}
		}
		cout<<sum<<endl;
	}
	return 0;
}

标签:10,a%,最大,int,sum,AWOI,当前,Round,总和
From: https://www.cnblogs.com/splay/p/17641080.html

相关文章

  • 【学习笔记】简单数论-最大公约数
    一个整数\(N\)的约数上界为\(2\sqrt{N}\)。\(1\simN\)每个数的约数个数的总和大约为\(N\timeslogN\)。取模运算性质\((a+b)\bmodp=((a\bmodp)+(b\modp))\modp\),反之亦成立。\((a-b)\bmodp=((a\bmodp)-(b\modp))\modp\),反之亦成立。\((a\tim......
  • Codeforces Round 881 (Div. 3)
    比赛链接:https://codeforces.com/contest/1843A.SashaandArrayColoring题意:一个数组,可以任意分成任意组,每组的贡献是组最大值减最小值,求最大总贡献思路:一组内只有最大值和最小值有用,所以每组只由两个数组成即可,用贪心的思路,依次取出原数组的最大和最小值成组即可B.LongL......
  • Codeforces Round 893 (Div. 2)
    Preface最战俘的一场,B题写挂一发后整个人脑子就不清醒了,放着D不写去写E1,然后忘了可持久化栈有一个经典的倍增写法,最主要当时暑假前集训我还上去讲了这个东西然后比赛的时候还没想起来后面目送徐神爆切5题成功完成两场从蓝上橙,狠狠地把我这个在紫卡了半年的废物羞辱了一波不过确......
  • Educational Codeforces Round 109 (Rated for Div. 2)
    EducationalCodeforcesRound109(RatedforDiv.2)A-Potion-making思路:求最小操作数即药水最简比#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong//#defineint__int128#definedoublelongdoubletypedefpair<int,int>PII;typedefpair......
  • Codeforces Round 883 (Div. 3)
    比赛链接:https://codeforces.com/contest/1846A.RudolphandCuttheRope题意:给n条绳子,知道一端所在高度坐标和各自绳长,他们另一端都连到一个糖果上,问至少剪掉多少绳子糖果能碰到地面思路:显然只有坐标小于绳长的才能让糖果触地,去掉其他的即可B.RudolphandTic-Tac-Toe题......
  • linux系统句柄限制调整,当使用netty/socket触发达到系统最大连接数时查看
    socket原理:客户端使用tcp端口连接至服务端,服务端会打开一个句柄文件和客户端保持连接,注意并不是一个连接就会占用一个服务器端口,所以socket连接数跟系统端口最大连接数无关,不然系统防火墙不就没啥用,默认系统每个进程打开的句柄是有限制的,另外整个系统还有一个句柄限制总数,所以soc......
  • Two-round n-out-of-n and Multi-Signatures and Trapdoor Commitment from Lattices
    Abstract.Althoughtheyhavebeenstudiedforalongtime,distributedsignatureprotocolshavegarneredrenewedinterestinrecentyearsinviewofnovelapplicationstotopicslikeblockchains.MostrecentworkshavefocusedondistributedversionsofE......
  • round函数
    round(doublea,intd):四舍五入,返回保留d位小数的近似值。要注意:四舍五入只考虑d+1小数位,如:round(1.449,1)返回1.4,round(1.49,1)返回1.5。 selectround(3.141,1)返回3.1   ......
  • Codeforces Round 892 (Div. 2)
    CodeforcesRound892(Div.2)目录CodeforcesRound892(Div.2)AUnitedWeStandBOlyaandGamewithArraysCAnotherPermutationProblemDAndreyandEscapefromCapygradEMaximumMonogonosityAUnitedWeStand给定长度为\(n\)的数组a,可以将a中元素添加到空数组b......
  • 2023.08.12 codeforces round 893 div2
    年轻人的第四场div2rank:8217solved:2ratingchange:+31newrating:1354A.Buttons题意:给定a,b,c三种按钮的数量,a按钮只能被Anna按,b按钮只能被Katie按,两个人都可以按c按钮,最后没有按钮可以按的人输,Anna先手,问谁是赢家;两个人肯定优先按c按钮,且Anna是先手,只需比较两人能按的按......