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++决赛题解的更多相关文章

  1. 2018年蓝桥杯B组C/C++决赛题解

    2018年第九届蓝桥杯B组C/C++决赛题解 点击查看2018年蓝桥杯B组C/C++决赛题目(不含答案) 1.换零钞 ok 枚举 设x表示1元钱的个数,y表示2元钱的个数,z表示5元钱的个数 x+21 ...

  2. 2018年蓝桥杯A组C/C++决赛题目

    2018年蓝桥杯A组C/C++决赛题目 2018年蓝桥杯A组C/C++决赛题解     1:三角形面积 已知三角形三个顶点在直角坐标系下的坐标分别为: (2.3, 2.5) (6.4, 3.1) (5 ...

  3. 2018年蓝桥杯B组C/C++决赛题目

    自己的博客排版,自我感觉略好一点. 先放上题目. 点击查看2018年蓝桥杯B组C/C++决赛题目题解     1.换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游, ...

  4. 2016年蓝桥杯B组C/C++决赛题解

    2016年第七届蓝桥杯B组C/C++决赛题解 2016年蓝桥杯B组C/C++决赛题目(不含答案) 1.一步之遥 枚举解方程,或者套模板解线性方程 #include<bits/stdc++.h&g ...

  5. 2015年蓝桥杯B组C/C++决赛题解

    2015年第六届蓝桥杯B组C/C++决赛题解 点击查看2015年第六届蓝桥杯B组C/C++国赛题目(不含答案)     1.积分之迷 三重循环 枚举A,B,C的值,如果满足两个条件:3个A + 7个B ...

  6. 2017年蓝桥杯B组C/C++决赛题解

    2017年蓝桥杯B组C/C++决赛题目(不含答案) 1.36进制 ok 求36进制,类比二进制转10进制,36^3 + 36^2 + 36^1 + 36^0 2.磁砖样式 ok dfs搜索 我自己写的 ...

  7. 2016年蓝桥杯B组C/C++决赛题目

    2016年第七届蓝桥杯B组C/C++决赛题目 点击查看2016年第七届蓝桥杯B组C/C++决赛题解 1.一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里. 矿车停在平直的废弃的轨道上. 他的 ...

  8. 2017年蓝桥杯B组C/C++决赛题目

    2017年第八届蓝桥杯B组C/C++决赛题目 点击查看2017年蓝桥杯B组C/C++决赛题解     1.36进制 对于16进制,我们使用字母A-F来表示10及以上的数字. 如法炮制,一直用到字母Z, ...

  9. 2015年蓝桥杯B组C/C++决赛题目

    2015年第六届蓝桥杯B组C/C++国赛题目 点击查看2015年第六届蓝桥杯B组C/C++国赛题解     1.积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会 ...

随机推荐

  1. 自己写的一个连数据库的音乐调用模块 MusicRj

    #自己定义 class MusicRj: # 创音乐表t_music # sql = '''CREATE TABLE t_music1( # id INT PRIMARY KEY AUTO_INCRE ...

  2. 近期用到了Git,就简单介绍下具体用法吧

    pull:是下拉代码,相等于将远程的代码下载到你本地,与你本地的代码合并push:是推代码,将你的代码上传到远程的动作完整的流程是: 第一种方法:(简单易懂) 1.git add .(后面有一个点,意 ...

  3. Django—开发具体流程

    1.创建Django项目 [root@localhost ~]# django-admin startproject 项目名 [root@localhost ~]# django-admin star ...

  4. XOR加密作业

    思路 -1.对需要加密的内容进行MD5加密 -2.随机生产32位的十六进制密钥 -3.对密钥和MD5加密内容进行异或运算. 主要问题: -1.如何实现MD5加密 -2.如何随机生成32位16进制密钥 ...

  5. Cpp 二叉树

    #include<vector> #include<iostream> using namespace std; //二叉树的一个节点结构 struct BinaryTreeN ...

  6. 大数据量数据库设计与优化方案(SQL优化)

    转自:http://blog.sina.com.cn/s/blog_6c0541d50102wxen.html 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的 ...

  7. acwing 60. 礼物的最大价值

    地址 https://www.acwing.com/problem/content/56/ 在一个m×n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0). 你可以从棋盘的左上角开始拿 ...

  8. Vue 修饰符once的方法使用

    once:只执行一次 代码: <!doctype html> <html lang="en"> <head> <meta charset= ...

  9. 趣谈Linux操作系统学习笔记:第二十九讲

    一.引子 在这之前,有一点你需要注意.解析系统调用是了解内核架构最有力力的一把钥匙,这里我们只要重点关注这几个最重要的系统调用就可以了 1.mount 系统调用用于挂载文件系统:2.open 系统调用 ...

  10. thinkphp5.1单模块设置

    thinkphp5.1单模块 1. // 是否支持多模块'app_multi_module' => false, // 自动搜索控制器'controller_auto_search' => ...