2018年蓝桥杯A组C/C++决赛题解
2018年第九届蓝桥杯A组C/C++决赛题解
点击查看视频题解
点击查看2018年蓝桥杯A组C/C++决赛题目(不含答案)
1:三角形面积
画个图,求三角形面积,可以用外接长方形 - 其他多余区域面积
当然网上很多用海伦公式啊什么的都可以的
#include<bits/stdc++.h>
using namespace std;
double x1 = 2.3;
double yy1 = 2.5;
double x2 = 6.4,y2 = 3.1;
double x3 = 5.1,y3 = 7.2;
int main(){
double a = x2 - x1;
double b = y3 - yy1;
double c = x3 - x1;
double d = x2 - x3;
double e = y2 - yy1;
double f = y3 - y2;
cout<<a*b<<endl;
double s = a * b - a * e * 0.5 - b * c * 0.5 - d * f * 0.5;
cout<<s<<endl;
return 0;
}
//8.795
2:阅兵方阵
枚举
题意是:将一个数分成两个平方数相加,求自然数中一共能分12组的最小值
预处理所以平方数,枚举就可以了,还要注意,这里要分解成12组不同的数,我们枚举时会计算两个平方数交换的次数,所以算成12*2组就可以了。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn = 1e7+10;
ll can[maxn];
void init(){
for(ll i=1;i<=1e6;i++){
if(i * i > maxn) break;
can[i*i] = 1;
}
}
int main(){
init();
//能组成12个
for(int k = 1105;k<=200000;k++){
int ans = 0;
for(int a=1;a<=k;a++){
if(!can[a]) continue;
if(!can[k - a]) continue;
ans++;
}
if(ans == 12*2){
cout<<k<<endl;
break;
}
}
return 0;
}
//5525 a 和 k-a 交换
//160225 不能交换
3:找假币
网上也都是这个答案,不保证正确性:balance(data[0] + data[1] + data[2] , data[3] + data[4] + data[5])
4:约瑟夫环
30% - 80%数据点可以用队列暴力做的
设置变量计数器t
如果t == k:队头出队, t赋值为1
否则t++,对头出队再进队尾
100%转换成约瑟夫数学问题了,见题解:https://blog.csdn.net/u011500062/article/details/72855826
30%暴力做法代码:
#include<bits/stdc++.h>
using namespace std;
/*
使用队列模拟
能过部分数据
设置变量计数器t
如果t == k:队头出队, t赋值为1
否则t++,对头出队再进队尾
*/
queue<int> q;
int n,k;
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
q.push(i);
}
int t = 1;
while(q.size() > 1){
int front = q.front();
if(t == k){
q.pop();
t = 1;
}else{
q.pop();
q.push(front);
t++;
}
}
cout<<q.front()<<endl;
return 0;
}
5:自描述序列
30%数据点暴力
100%递推 见题解:https://blog.csdn.net/metaphysis/article/details/6532638
30%暴力做法代码:
#include<bits/stdc++.h>
using namespace std;
//模拟 30%数据
int n;
vector<int> v;
void init(){
v.push_back(1);
v.push_back(1);
v.push_back(2);
v.push_back(2);
}
int main(){
cin>>n;
init();
int ans = 4;
for(int i=3;i<=n;i++){
int t = v[i];
if(ans < n){
for(int j=1;j<=t;j++){
v.push_back(i);
}
ans += t;
}else{
break;
}
}
cout<<v[n]<<endl;
return 0;
}
6:采油
没写
2018年蓝桥杯A组C/C++决赛题解的更多相关文章
- 2018年蓝桥杯B组C/C++决赛题解
2018年第九届蓝桥杯B组C/C++决赛题解 点击查看2018年蓝桥杯B组C/C++决赛题目(不含答案) 1.换零钞 ok 枚举 设x表示1元钱的个数,y表示2元钱的个数,z表示5元钱的个数 x+21 ...
- 2018年蓝桥杯A组C/C++决赛题目
2018年蓝桥杯A组C/C++决赛题目 2018年蓝桥杯A组C/C++决赛题解 1:三角形面积 已知三角形三个顶点在直角坐标系下的坐标分别为: (2.3, 2.5) (6.4, 3.1) (5 ...
- 2018年蓝桥杯B组C/C++决赛题目
自己的博客排版,自我感觉略好一点. 先放上题目. 点击查看2018年蓝桥杯B组C/C++决赛题目题解 1.换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游, ...
- 2016年蓝桥杯B组C/C++决赛题解
2016年第七届蓝桥杯B组C/C++决赛题解 2016年蓝桥杯B组C/C++决赛题目(不含答案) 1.一步之遥 枚举解方程,或者套模板解线性方程 #include<bits/stdc++.h&g ...
- 2015年蓝桥杯B组C/C++决赛题解
2015年第六届蓝桥杯B组C/C++决赛题解 点击查看2015年第六届蓝桥杯B组C/C++国赛题目(不含答案) 1.积分之迷 三重循环 枚举A,B,C的值,如果满足两个条件:3个A + 7个B ...
- 2017年蓝桥杯B组C/C++决赛题解
2017年蓝桥杯B组C/C++决赛题目(不含答案) 1.36进制 ok 求36进制,类比二进制转10进制,36^3 + 36^2 + 36^1 + 36^0 2.磁砖样式 ok dfs搜索 我自己写的 ...
- 2016年蓝桥杯B组C/C++决赛题目
2016年第七届蓝桥杯B组C/C++决赛题目 点击查看2016年第七届蓝桥杯B组C/C++决赛题解 1.一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里. 矿车停在平直的废弃的轨道上. 他的 ...
- 2017年蓝桥杯B组C/C++决赛题目
2017年第八届蓝桥杯B组C/C++决赛题目 点击查看2017年蓝桥杯B组C/C++决赛题解 1.36进制 对于16进制,我们使用字母A-F来表示10及以上的数字. 如法炮制,一直用到字母Z, ...
- 2015年蓝桥杯B组C/C++决赛题目
2015年第六届蓝桥杯B组C/C++国赛题目 点击查看2015年第六届蓝桥杯B组C/C++国赛题解 1.积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会 ...
随机推荐
- 自己写的一个连数据库的音乐调用模块 MusicRj
#自己定义 class MusicRj: # 创音乐表t_music # sql = '''CREATE TABLE t_music1( # id INT PRIMARY KEY AUTO_INCRE ...
- 近期用到了Git,就简单介绍下具体用法吧
pull:是下拉代码,相等于将远程的代码下载到你本地,与你本地的代码合并push:是推代码,将你的代码上传到远程的动作完整的流程是: 第一种方法:(简单易懂) 1.git add .(后面有一个点,意 ...
- Django—开发具体流程
1.创建Django项目 [root@localhost ~]# django-admin startproject 项目名 [root@localhost ~]# django-admin star ...
- XOR加密作业
思路 -1.对需要加密的内容进行MD5加密 -2.随机生产32位的十六进制密钥 -3.对密钥和MD5加密内容进行异或运算. 主要问题: -1.如何实现MD5加密 -2.如何随机生成32位16进制密钥 ...
- Cpp 二叉树
#include<vector> #include<iostream> using namespace std; //二叉树的一个节点结构 struct BinaryTreeN ...
- 大数据量数据库设计与优化方案(SQL优化)
转自:http://blog.sina.com.cn/s/blog_6c0541d50102wxen.html 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的 ...
- acwing 60. 礼物的最大价值
地址 https://www.acwing.com/problem/content/56/ 在一个m×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0). 你可以从棋盘的左上角开始拿 ...
- Vue 修饰符once的方法使用
once:只执行一次 代码: <!doctype html> <html lang="en"> <head> <meta charset= ...
- 趣谈Linux操作系统学习笔记:第二十九讲
一.引子 在这之前,有一点你需要注意.解析系统调用是了解内核架构最有力力的一把钥匙,这里我们只要重点关注这几个最重要的系统调用就可以了 1.mount 系统调用用于挂载文件系统:2.open 系统调用 ...
- thinkphp5.1单模块设置
thinkphp5.1单模块 1. // 是否支持多模块'app_multi_module' => false, // 自动搜索控制器'controller_auto_search' => ...