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. 为了促销,每件商品都会 ...
随机推荐
- RMAN 'Duplicate From Active Database' Feature in Oracle11g (Doc ID 452868.1)
RMAN 'Duplicate From Active Database' Feature in Oracle11g (Doc ID 452868.1) APPLIES TO: Oracle Data ...
- django之查询操作及开启事务
目录 聚合查询 aggregate 聚合函数 分组查询 annotate F与Q查询 F查询 Q查询 ORM操作事务 django中开启事务 聚合查询 aggregate 操作外键字段管理数据的时候, ...
- Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决
转载链接:https://blog.csdn.net/fuyuande/article/details/82915800 嵌入式开发通常是在linux环境下编译,windows下开发,这就需要在lin ...
- 如果不配https访问权限,可以用 .htaccess 搞定
.htaccess 此文件存放在,网站程序根目录下# 只允许通过域名形式访问 RewriteEngine On RewriteBase / rewritecond %{http_host} !^www ...
- The Preliminary Contest for ICPC Asia Shenyang 2019
传送门 B. Dudu's maze 题意: 是什么鬼东西???我读题可以读半小时QAQ 给出一张无向图,一个人在里面收集糖果,每个点都有一个糖果,特殊点除外.当他第一次进入特殊点时,会随机往一条边走 ...
- Vue入门(二)
1.vue3.0安装 cnpm install -g @vue/cli 或者 yarn global add @vue/cli //创建项目 vue create hello-world //运行 n ...
- Go 字节 (byte) & 文字符号 (rune)
byte 通过 byte 定义一个字节,字节必须使用单引号包起来,直接打印字节输出的是 ascii 码,需要通过格式化输出 byte 是 uint8 的别称,使用 byte 主要是为了区分字节和无符号 ...
- Java并发编程:Java中的锁和线程同步机制
锁的基础知识 锁的类型 锁从宏观上分类,只分为两种:悲观锁与乐观锁. 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新 ...
- Educational Codeforces Round 76 (Rated for Div. 2) D. Yet Another Monster Killing Problem 贪心
D. Yet Another Monster Killing Problem You play a computer game. In this game, you lead a party of
- .NET Core 中读取 Request.Headers 的姿势
Request.Headers 的类型是 IHeaderDictionary 接口,对应的实现类是 HeaderDictionary ,C# 实现源码见 HeaderDictionary.cs . H ...