C++牛客小白月赛题目分享(1)生不逢七,交换数字,幻兽帕鲁

目录

1.前言

2.三道题目

1.生不逢七

1.题目描述

2.输入描述:

3.输出描述:

4.示例:

5.题解:

2.交换数字

1.题目描述:

2.输入描述:

​编辑 

3.输出描述:

4.示例:

5.题解:

3.幻兽帕鲁

1.题目描述:

2.输入描述:

3.输出描述:

4.示例:

5.题解:

3.小结



1.前言

今天小蒟蒻为大家分享牛客小白月赛93部分题目的题解,考了蛮多高精度滴~,一共三道题,希望你能对大家有所帮助~

2.三道题目

1.生不逢七

1.题目描述

睡前游戏中最简单又最好玩的游戏就是这个啦!

该游戏规则为:多名玩家轮流报数,当要报的数字中含有 7或者是 7 的倍数时(例如 37,49),不能将该数报出来,要换一种提前规定好的方式报数,当一个人报错或者报慢了这个人就输了。我们认为玩家是围成一圈进行游戏的,第 n 个人报完数之后,会轮到第 1 个人报数。


现在告诉你玩家的总人数以及你上一个人报的数(用数字表示,即便这个数含有 7 或者是 7 的倍数),你需要预测接下来 k 轮你要报的数字,当你需要报的数字含有 7 或者是 7 的倍数时,你需要输出字符 p。

2.输入描述:

 

3.输出描述:

 

4.示例:

5.题解:

#include<iostream>
#include<algorithm>
using namespace std;int t=0;
int n=0,a=0,k=0;int func2(int y1){if(y1%7==0)return 0;while(y1){if(y1%10==7)return 0;y1=y1/10;}return 1;
}void func1(int x,int y,int z){while(z--){int flag=func2(y);if(flag==0)printf("p ");else printf("%d ",y);y=y+x;}
}int main(){scanf("%d",&t);while(t--){scanf("%d %d %d",&n,&a,&k);func1(n,a+1,k);printf("\n");}return 0;
} 

这道题作为签到题,比平时的只需要几个语句的就可以输出的要难上一点,但也是单纯的模拟,只是本人写的代码需要优化的仍有很多,所以显得很长。

这道题整体思路如下:先按照题意中的报号顺序推出自己每一次的号(第一次的号只需要+1,后面的号码1需要加上组内总人数),再判断是否可以%7或者是否含7即可,最后输出。

2.交换数字

1.题目描述:

2.输入描述:

3.输出描述:

4.示例:

5.题解:

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;char a[200005],b[200005];
int n;
long long sum1=0,sum2=0;int main(){scanf("%d%s%s",&n,&a,&b);for(int i=0;i<n;i++){if(a[i]>b[i])swap(a[i],b[i]);}for(int j=0;j<n;j++){sum1=sum1*10+(a[j]-'0');sum1=sum1%998244353;sum2=sum2*10+(b[j]-'0');sum2=sum2%998244353;}printf("%d\n",sum1*sum2%998244353);return 0;
}
  • 这道题有一个简单的数学问题:a*b何时最小。可以比较容易得出来的是,当a和b分别满足题目条件的最大和最小的时候相乘,该值为最小(可以举个简单的例子,若当下有1,2,3,4,5,6这6个数,显然123*456最小,找不到比这个还小的了)。
  • 解决了这个问题以后,让我们看一下这个题的限制条件,n可以取到200000,那么这个数最大可以取到10的200000次方,这显然开long long也无法解决(64位中long long最大为2的64次方),于是我们用字符串数组来存储这么一个巨大的数字。
  • 接着运用swap函数将a和b每一位的较大和较小至于一侧,最后相乘%998244353即可(求a和b的值时也要%998244353,防止溢出,也不会影响结果)。

3.幻兽帕鲁

1.题目描述:

2.输入描述:

3.输出描述:

4.示例:

5.题解:

#include <bits/stdc++.h>
using namespace std;void solve()
{int n , m;cin >> n >> m;while (m -- ){long long x , y = 0;cin >> x;for (int i = 0 ; i < n ; i ++ ){y <<= 1;y = y | (x & 1);x >>= 1;}cout << y << endl;}
}int main()
{solve();return 0;
}

 这道题的思路我是参考着其他大佬的思路才做出来的,正所谓代码量与思考量成反比,虽然上面只有寥寥数行代码,但思路很有价值,当你明白后绝对会自己有巨大提升。我也是跟着代码模拟了几遍才明白其原理,利用了最最基本的左移右移操作符以及按位与按位或操作实现了先打印偶数,再打印奇数。(这道题不能按照平常思路来做,因为n可以取到60,即2的60次方-1,开数组绝对开不了这么大)

接下来就以第一个示例为主,我一步一步带着大家模拟:

  • 输入2,4表示一共有4只帕鲁,需输出四行
  • 进入solve函数中

x先输入0,进入循环

  • y左移一位还为0
  • 0按位与1仍为0,与y按位或还为0,y仍为0
  • x右移一位仍为0
  • 接下来n次循环y值不变,则输出y为0

x输入1,进入循环

  • y左移一位还为0
  • 1按位与1为1,与y按位或还为1,y为1
  • x右移一位为0
  • 进入第二次循环,y左移一位为2(二进制为01变为010)
  • 最后输出2

x输入2,进入循环

  • y左移一位还为0
  • 2按位与1为0(10和01),与y按位或还为0,y仍为0
  • x右移一位为1
  • 进入第二次循环,y左移一位为0
  • 1按位与1为1,与y按位或还为1,y为1
  • 最后输出1

x输入3,进入循环

  • y左移一位还为0
  • 3按位与1为1,与y按位或为1,y为1
  • x右移一位为1
  • 进入第二次循环,y左移一位为2
  • 1按位与1为1,与y按位或还为3(10与01按位或11),y为3
  • 最后输出3,符合题意

结果真的很奇妙吧!!!大家在下面思考过后也尝试实现一下吧

3.小结

今天分享的三道题到这里就结束了喔了,希望大家有所收获并多多支持哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3032172.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Redis 基础之常用数据类型及命令

常用数据类型及命令 String&#xff08;字符串&#xff09;Hash&#xff08;哈希&#xff09;List&#xff08;列表&#xff09;Set&#xff08;集合&#xff09;zset ( sorted set&#xff1a;有序集合 )Redis setbit 命令HyperLogLogs ( 基数统计 ) Redis 比 Memcached 更优秀…

(python)经典的数学和逻辑谜题-汉诺塔

前言 在贝纳雷斯的大寺庙里在标志着世界中心的圆顶下,有一块黄铜板,上面固定着三根钻石针,每根针高一肘,粗细如蜜蜂的身体.在其中一根针上,上帝在创世时放置了六十四个纯金的圆盘,最大的圆盘放在黄铜板上,其他的圆盘逐渐变小,直到最上面的一个.这就是布拉马之塔.日夜不停地,祭司…

sqli-labs靶场第十四关

目录 1&#xff1a;分析 找闭合符&#xff1a; 2&#xff1a;开始注入 报错注入&#xff1a; 注入数据库名&#xff1a; 注入表名&#xff1a; 注入列名&#xff1a; 注入具体值&#xff1a; 1&#xff1a;分析 经过我们的实验发现当我们输入的密码后面存在双引号时会报…

消费增值:绿色积分引领电商潮流

消费增值的玩法确实为电商平台提供了一种新颖的用户激励机制&#xff0c;通过积分返利和增值机制&#xff0c;吸引消费者持续参与并提升用户粘性。以下是对您提供的信息的进一步解析和扩展&#xff1a; 消费增值玩法解析 商城消费返利&#xff1a; 每笔消费订单&#xff0c;商…

上海计算机学会2023年9月月赛C++丙组T2Z形填充

题目描述 给定一个整数 n&#xff0c;再给定 n2 个字符&#xff0c;请将这些字符以 z 形排成一个 nn 的矩阵。 z 形的定义是&#xff0c;第一个字符在左上角&#xff0c;然后沿对角线以 z 形放置字符。对于 n4 &#xff0c;z 形排列的先后顺序标记如下&#xff1a; 输入格式 …

未来办公新方式--智能体与程序完美配合

Agent AI智能体的未来 工作中&#xff0c;有时候我们就像是在不停地踩着缝纫机&#xff0c;重复地做着那些单调乏味的任务&#xff0c;不仅耗时费力&#xff0c;还特别容易出错。可是&#xff0c;咱们现在可是生活在数字化时代啊&#xff01;这时候&#xff0c;Python编程语言…

STC -PWM

一.STC8H1K16初始化,以下一步配置后就会有波形输出. // // 函数: PWMB_Output_init // 描述: 用户初始化程序. // 参数: None. // 返回: None. // 版本: V1.0, 2020-09-28 //u16 PWM8__setDuty25000;u16 PWM8__setPeriod50000; void PWMB_Output_init(void) {PWMx_InitDefi…

如何让组织充满活力?你需要做好这七步

组织活力&#xff0c;通俗点说就是&#xff1a; 从竞争对手角度看&#xff0c;组织活力强的组织能做到竞争对手做不到的事情&#xff1b; 从客户角度看&#xff0c;组织活力强的组织&#xff0c;客户感受好&#xff1b; 从员工角度看&#xff0c;组织活力强的组织&#xff0c…

Mapreduce | 案例

根据提供的数据文件【test.log】 数据文件格式&#xff1a;姓名,语文成绩,数学成绩,英语成绩 完成如下2个案例&#xff1a; &#xff08;1&#xff09;求每个学科的平均成绩 &#xff08;2&#xff09;将三门课程中任意一门不及格的学生过滤出来 &#xff08;1&#xff09;求每…

抖音小店怎么做?做店笔记分享来了,新手可学习!

大家好&#xff0c;我是电商糖果 抖音小店怎么做&#xff1f;这个问题是所有新手商家都会提问的问题。 很多朋友可能店开好几个月了&#xff0c;一直都不会运营&#xff0c;店铺没有流量&#xff0c;迟迟不出单。 下面糖果就来分享一下我自己做店总结的笔记&#xff0c;新手…

半小时搞懂STM32面经知识点——系统架构与启动流程

1.Cortex-M系统 1.1系统结构 1.处理器核心&#xff1a; Cortex-M3 2.存储器系统&#xff1a; Flash&#xff0c;SRAM&#xff0c;FSMC等 3.总线接口&#xff1a; 核心通过总线接口与外设设备和存储器进行通信。 总线矩阵&#xff1a;总线矩阵是一种硬件结构&#xff0c;用于连…

Java——类与对象

目录 一、面向对象的初步认识 1.1 什么是面向对象 1.2 面向对象与面向过程 二、类的定义与使用 2.1 简单认识类 2.2 类的定义格式 三、类的实例化 3.1 什么是实例化 3.2 类和对象的说明 四、this引用 4.1 为什么要有this引用 4.2 什么是this引用 ​编辑 4.3 this引用…

揭秘全网都在搜索的抖音快速涨10000粉的方法,打造真实粉丝海洋!巨量千川投流

抖音作为当下最热门的社交媒体平台之一&#xff0c;拥有数以亿计的用户。对于许多用户来说&#xff0c;快速涨粉成为了一个追逐的目标。在这篇文章中&#xff0c;我们将揭秘一些全网都在搜索的抖音快速涨粉方法&#xff0c;帮助你打造属于自己的真实粉丝海洋。巨量千川投流&…

决策管理中的数学方法

需要注意的是,用excel求解的时候需要导入线性规划加载项如下: pert分析需要DecisionTools中的RiskSolver插件 1.链接:https://pan.baidu.com/s/1wKhUFWgNmQ7U33kl5AypZw 提取码:zqkn 2.“Palisade_Book_expires_Aril_10_2025.lic”文件复制到以下路径: C:\Program Files …

我必须要吹一波MATLAB 2024a,太牛逼了!|福利:附安装教程及下载地址

最近逛MATLAB官网&#xff0c;发现MATLAB 2024a版本已经Pre-release了&#xff0c;翻了下release note&#xff0c;不得不感叹&#xff0c;实在是太强了&#xff01; 这次重点更新了四个工具箱&#xff1a; Computer Vision Toolbox Deep Learning Toolbox Instrument Contro…

没有公网ip,如何实现外网访问内网?

目前拨号上网是最广泛的上网方式&#xff0c;这种方式优点是价格便宜&#xff0c;缺点是没有固定公网ip&#xff0c;每次重新您拨号ip地址都会变。如果有一台服务器&#xff0c;需要实现外网访问&#xff0c;在没有固定公网ip的环境下&#xff0c;该如何实现呢&#xff1f;使用…

14.跳跃游戏Ⅱ

文章目录 题目简介题目解答解法一&#xff1a;贪心算法动态规划代码&#xff1a;复杂度分析&#xff1a; 题目链接 大家好&#xff0c;我是晓星航。今天为大家带来的是 跳跃游戏Ⅱ 相关的讲解&#xff01;&#x1f600; 题目简介 题目解答 解法一&#xff1a;贪心算法动态规划…

【MySQL 数据宝典】【事务锁】- 002 事务控制的演进

一、事务处理思路 1.1 排队 排队处理是事务管理最简单的方法&#xff0c;就是完全顺序执行所有事务的数据库操作&#xff0c;不需要加锁&#xff0c;简单的说就是全局排队。序列化执行所有的事务单元&#xff0c;数据库某个时刻只处理一个事务操作&#xff0c;特点是强一致性…

用HAL库改写江科大的stm32入门例子8-1 DMA数据转运

实验目的&#xff1a;通过DMA把buffer的数据搬运到buffer2当中 //declare a buffer to store the data uint32_t buffer[3] {1,2,3};//declare a buffer to store the data uint32_t buffer2[3] {0,0,0}; DMA&#xff1a;是个搬运数据的小助手。 相关设置&#xff1a; main…

探索国外静态住宅代理:保护网络安全与隐私的利器

随着互联网的日益发展&#xff0c;网络安全和隐私保护成为越来越多用户关注的焦点。在这个信息爆炸的时代&#xff0c;如何确保网络活动的匿名性和安全性成为了我们必须面对的问题。国外静态住宅代理作为一种新兴的网络技术&#xff0c;为我们提供了有效的解决方案。 &#xf…