1.21-1.23学习C++

Problem1(Even? Odd? G origin: 洛谷-P2955):

这个问题本身不难,但要注意到给的数据范围上限远远超过long long int的范围,故数字应以字符串的形式输入,判断一个数是否为奇数或偶数只需要看数字的最后一位的奇偶性即可。

Problem2(Long Loong origin:AtCoder-abc336_a):

这题只需写个循坏输出就好了。

Problem3(YES or YES? origin:CodeForces-1703A):

注意到题目符合要求的字符串是"YES"(不区分大小写),故需用到函数toupper(或者tolower),接下来只需要依次判断输入字符串是否符合要求即可。

Problem4(Problem Generator origin:CodeForces-1980A):

这题要求每一轮比赛都有'A','B', 'C', 'D', 'E', 'F', 'G'各1道题,所以只需要计算输入的字符串中每一个字母出现的次数,然后与进行比赛的轮数m进行比较,将各个类型题目缺失的个数依次计算出来,最后累加得出总共需要出题的数目。

Problem5(rules origin:洛谷-B4012):

很显然我们需要判断每一天居民是否遵守规则k,然后累加得到该天遵守规则k的人数,判断该人数是否超过居民总数的一半,由于居民人数的奇偶性不定,故使用ceil函数进行条件判断,最后判断规则k的正确性也同上所述。

Problem6(Many Replacement origin:AtCoder-abc342_c):

这题有一定的思考量,如果直接遍历就会TLE(我第一次也是这样写的)。这时我们注意到题目只需要输出最终的字符串,并不需要输出经过每一次操作后的字符串,所以我们换种思路,先让26个英文字母进行Q次的操作,然后再依照原本的顺序输出原本的字符串(这里26个英文字母的顺序已经发生改变)即可。

Problem7(更好的交换 origin:洛谷-B3977):

同Problem6一样直接遍历是会TLE的,注意到题目交换的是行与行(或列与列)的数字,所以我们不妨只盯着行数和列数,只改变行数和列数,最后再以改变之后的行数和列数输出数组中的每个元素即可。

以下是一些代码截图:
Problem6:

Problem7:

(PS:萌新第一次写这玩意难免有些错误,欢迎大家指正)

posted @   Lumine233  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
点击右上角即可分享
微信分享提示