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. 为了促销,每件商品都会 ...
随机推荐
- Flask框架后端开发常见错误处理
1.ValueError: urls must start with a leading slash 这个错误原因可能发生在所有路由相关地方,少加了一个'/'造成的. 2.ImportError: c ...
- Scrapy 下载图片时 ModuleNotFoundError: No module named'PIL'
使用scrapy的下载模块需要PIL(python图像处理模块)的支持,使用pip安装即可
- 子传父flase注意点
1==>在子传递数据给父亲的时候, closeBottom(){ this.$emit("closeBottom",false) } false不加引号. 2==>
- Python学习一、一个小例子
一.题目: 对于一串氨基酸序列(由字母表前二十个大写字母组成),需要得到每一个氨基酸数目,然后输出到文件夹D:\test\frq.txt,要求用循环和字典实现. 氨基酸序列如下: ABCDEFGHIJ ...
- 03. Go 语言容器
Go语言容器(container) 变量在一定程度上能满足函数及代码要求.如果编写一些复杂算法.结构和逻辑,就需要更复杂的类型来实现.这类复杂类型一般情况下具有各种形式的存储和处理数据的功能,将它们称 ...
- 最近公共祖先(LCA)基础模板(倍增法)
之前在澡堂学过这么个东西,听课时理解非常透彻,然后做题时是这种状态: 因为并没有切板子题,最近切掉以后看同桌,他默默地说了一句话: 我是什么时候A的来着... 我当时就心态爆炸... 现在来进行简单整 ...
- Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) B. Box 贪心
B. Box Permutation p is a sequence of integers p=[p1,p2,-,pn], consisting of n distinct (unique) pos ...
- OpenvSwitch系列之五 网桥特性功能配置
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...
- vscode源码分析【二】程序的启动逻辑,第一个窗口是如何创建的
上一篇文章:https://www.cnblogs.com/liulun/ (小广告:我做的开源免费的,个人知识管理及自媒体营销工具“想学吗”:https://github.com/xland/xia ...
- js实现addClass方法,classList与className有什么区别?
壹 ❀ 引 Jquery中addClass与removeClass是两个使用高频的方法,对于为dom元素增删class类非常方便:但如果不用JQ,使用js怎么模拟它们呢?本文主要记录下自己的实现思路 ...