当前位置: 首页 > news >正文

第十四届蓝桥杯c++研究生组

A
在这里插入图片描述
关键思路是求每个十进制数的数字以及怎么在一个数组中让判断所有的数字次数相等。
求每个十进制的数字

while(n!=0){int x = n%10;//x获取了n的每一个位数字n/=10;}

扩展:求二进制的每位数字 (注意:进制转换、1的个数、位运算)

x >> k & 1//k代表第几个位置

判断几个数中的数字次数相等
下面是判断3个数中的数字次数相等

bool swap(int n,int i,int j){int a[]={0,0,0,0,0,0,0,0,0,0};while(n!=0){int x = n%10;a[x]++;n/=10;}while(i!=0){int x = i%10;a[x]--;i/=10;}while(j!=0){int x = j%10;a[x]--;j/=10;}for(int i=0;i<=9;i++){if(a[i]!=0){return false;}}return true;
}

完整代码:

#include <iostream>
#include <cmath>
using namespace std;bool swap(int n,int i,int j){int a[]={0,0,0,0,0,0,0,0,0,0};while(n!=0){int x = n%10;a[x]++;n/=10;}while(i!=0){int x = i%10;a[x]--;i/=10;}while(j!=0){int x = j%10;a[x]--;j/=10;}for(int i=0;i<=9;i++){if(a[i]!=0){return false;}}return true;
}bool is(int n){for(int i=2;i<=sqrt(n)+1;i++){if(n%i==0){int j = n/i;if(swap(n,i,j)){return true;}} }return false;
}  int main(){int sum=0;for(int i=1;i<=1000000;i++){if(is(i)){sum++;}}cout << sum << endl;return 0;
}

B
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
爆搜

#include <bits/stdc++.h>
using namespace std;int a[][20]={{1,1,0,1,0,1,1,1,1,1},{1,1,1,0,0,1,1,1,1,0},{1,1,0,0,1,0,1,1,1,1},{1,0,1,1,0,1,1,1,1,0},{1,0,1,0,1,1,1,1,0,0},{1,0,0,1,0,1,0,1,0,1},{1,1,1,1,1,1,1,1,1,0},{0,1,1,1,1,1,1,1,1,0},{0,1,1,0,1,0,1,1,1,1},{1,0,1,0,0,1,0,1,0,0},
};
map<int, int> mp;
int ans;int main(){for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(a[i][j]==0){continue;}for(int k=i+1;k<10;k++){for(int p=0;p<=j;p++){if(a[k][p]==0){continue;}if (a[k + j - p][p + k - i] == 1 && a[i + j - p][j + k - i] == 1){int len = (j - p) * (j - p) + (k - i) * (k - i);if (mp[len] == 0) {ans++; mp[len] = 1;}}}}}}cout << ans; return 0;
} 

扩展map的用法
map容器是一个键值对key—value的映射,其内部实现是一颗以key为关键吗的红黑树。mapkeyvalue可以是任意类型,其中key必须定义小于号运算符。
map的声明

map<key_type,value_type> name;
//列子
map<int int> mp;
map<string,int> mp;

方法
size/empty/clear/begin/end/insert/erase/find/[]
C
在这里插入图片描述
求每个数的位的数字。详细见A题。注意数据范围

#include <iostream>
#include <algorithm>using namespace std;long long n,sum;int main(){cin >> n;while(n>0){long long x=n;while(x!=0){int aa=x%10;n-=aa;x/=10;}sum++; }cout << sum <<endl;return 0;
}

D
在这里插入图片描述
**最初思路:**遍历从L到R,但是如果随机遍历每个L到R中的每个数,最后得到的最小移动数是不一样。即行不通。
解题思路:
分三种情况:

  1. n<l时。不用移动,输出0.
  2. n>=l&&n<=r时。即考虑移动l-1的步数和移动到r右边的符合条件之间的最小数。
  3. n>r时。即往左右移动找符合最小移动的步数。
    完整代码
#include <bits/stdc++.h>using namespace std;long long n,l,r;
long long ans;bool check(int x){for(int i=1;i<=sqrt(x);i++){if(x%i==0){int t = x/i;if(i>=l && i<=r){return true;}if(t>=l && t<=r){return true;}}}return  false;
}int main(){cin >> n >> l >> r;if(n<l){cout << 0 << endl;return 0;}if(n>=l&&n<=r){ans = n-(l-1);for(int i=1;i<=2000;i++){if(!check(r+i)){ans = min(r+i-n,ans);break;}}cout << ans <<endl;return 0;}for(int i=1;i<=2000;i++){if(!check(n+i) || !check(n-i)){cout << i << endl;return 0;}}return 0;
}

//5/29完工

相关文章:

  • python 第四章 函数 (pycharm) (2)
  • 二分答案思想下的二进制问题
  • Python爬虫技术深度解析与实战案例
  • 基于51单片机简易温度计
  • 商品发布功能
  • 在VS Code中进行Java的单元测试
  • 【MySQL精通之路】InnoDB(9)-表和页压缩(1)-表压缩
  • 自由应用大本营?开源免费的Android应用商店:F-Droid Client
  • UniApp 2.0可视化开发工具:引领前端开发新纪元
  • 【前端】面试八股文——BFC
  • ubuntu-24.04系统静态Mac和IP配置
  • 【MySQL精通之路】MySQL-环境变量
  • 鹏哥C语言复习——调试
  • 从零开始搭建Springboot项目脚手架4:保存操作日志
  • 基于飞书机器人跨账号消息提醒
  • “大数据应用场景”之隔壁老王(连载四)
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 2019.2.20 c++ 知识梳理
  • Bootstrap JS插件Alert源码分析
  • ES2017异步函数现已正式可用
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JSONP原理
  • Magento 1.x 中文订单打印乱码
  • Python连接Oracle
  • vue中实现单选
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 产品三维模型在线预览
  • 技术胖1-4季视频复习— (看视频笔记)
  • 近期前端发展计划
  • 微信小程序填坑清单
  • 消息队列系列二(IOT中消息队列的应用)
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 正则表达式小结
  • 【干货分享】dos命令大全
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • const的用法,特别是用在函数前面与后面的区别
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ‌移动管家手机智能控制汽车系统
  • # Redis 入门到精通(七)-- redis 删除策略
  • #每日一题合集#牛客JZ23-JZ33
  • (6)添加vue-cookie
  • (c语言)strcpy函数用法
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (简单) HDU 2612 Find a way,BFS。
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (转)视频码率,帧率和分辨率的联系与区别
  • (转)重识new
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl