【蓝桥杯第十三届省赛】(部分详解)

九进制转十进制

cpp 复制代码
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
  cout << 2*pow(9,3)+0*pow(9,2)+2*pow(9,1)+2*pow(9,0) << endl;
  return 0;
}

顺子日期

cpp 复制代码
#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  cout<<14;
  //01.20~01.29
  //11.23\10.12\12.30\12.31
  return 0;
  }

只比较后面四位就可以,如果代码算的话直接后面几位差值为1与求就ok,思考的时候写着写着就出答案了

修剪灌木

cpp 复制代码
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
       cout<<max(i-1,n-i)*2<<endl;
    }
  return 0;
}

X进制减法

cpp 复制代码
#include <iostream>
using LL=long long;
using namespace std;
const LL MOD=1000000007;
const LL N=1e5+5;
int a[N],b[N];

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int n;  cin>>n;//进制min 2  max n
    int ma; cin>>ma;//A的位数
    for(int i=ma-1;i>=0;i--) cin>>a[i]; //A每一位的十进制表示
    int mb;  cin>>mb;//B位数
    for(int j=mb-1;j>=0;j--)  cin>>b[j]; //B的每一位表示
    
     LL cnt=1,res=0,rgb;//cnt不能等于0
    for(int i=0;i<ma;i++)
    {
       
        rgb=max(max(a[i],b[i])+1,2);
        //进制越小差距越小,二进制最高位只能是0,十进制是9,所以数字加一取最小进制
        res=(res+(a[i]-b[i])*cnt)%MOD;
        cnt=(cnt*rgb)%MOD;
        //cnt放后面是因为 从0次方开始乘
        //多次取模为了防止越界
       
    } cout<<res%MOD;
    // 请在此输入您的代码
  return 0;
}
相关推荐
写写闲篇儿1 小时前
微软面试之白板做题
面试·职场和发展
LYFlied3 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
yaoh.wang6 小时前
力扣(LeetCode) 27: 移除元素 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·双指针
牛客企业服务7 小时前
AI面试监考:破解在线面试作弊难题
人工智能·面试·职场和发展
LYFlied8 小时前
【每日算法】LeetCode 46. 全排列
前端·算法·leetcode·面试·职场和发展
LYFlied10 小时前
【每日算法】131. 分割回文串
前端·数据结构·算法·leetcode·面试·职场和发展
LYFlied12 小时前
【每日算法】LeetCode 78. 子集
数据结构·算法·leetcode·面试·职场和发展
LinHenrY122712 小时前
初识C语言(编译和链接)
c语言·开发语言·蓝桥杯
_OP_CHEN12 小时前
【算法基础篇】(三十五)图论基础之最小生成树:从原理到实战,彻底吃透 Prim 与 Kruskal 算法
算法·蓝桥杯·图论·最小生成树·kruskal算法·prim算法·acm/icpc
LYFlied12 小时前
【算法解题模板】-【回溯】----“试错式”问题解决利器
前端·数据结构·算法·leetcode·面试·职场和发展