目录
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;
}
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;
}
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;
}
3.小结
今天分享的三道题到这里就结束了喔了,希望大家有所收获并多多支持哦~