A. 门牌制作

答案

624

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int cnt = 0;
for (int i = 1; i <= 2020; i++) {
int x = i;
while (x) {
if (x % 10 == 2) ++cnt;
x /= 10;
}
}
cout << cnt << "\n";
return 0;
}

B. 既约分数

答案

2481215

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int cnt = 0;
for (int i = 1; i <= 2020; i++) {
for (int j = 1; j <= 2020; j++) {
if (__gcd(i, j) == 1)
++cnt;
}
}
cout << cnt << "\n";
return 0;
}

C. 蛇形填数

答案

761

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int x = 1, y = 1;
int a[100][100] = {};
int num = 1;
for (int i = 1; x <= 50; i++) {
for (int j = 0; j < i; j++) {
a[x][y] = num++;
if (j != i - 1) {
if (i & 1) --x, ++y;
else ++x, --y;
}
}
if (i & 1) ++y;
else ++x;
}
cout << a[20][20] << "\n";
return 0;
}

D. 七段码

答案

80

代码

#include <bits/stdc++.h>
using namespace std; bool light[7];
vector<vector<int> > G(7);
int ans; bool judge(vector<int> &v1) {
vector<int> v2;
queue<int> que;
bool vis[7] = {};
que.push(v1[0]);
vis[v1[0]] = true;
while (!que.empty()) {
int u = que.front();
que.pop();
v2.push_back(u);
for (int i = 0; i < G[u].size(); i++) {
int v = G[u][i];
if (find(v1.begin(), v1.end(), v) != v1.end() && !vis[v]) {
que.push(v);
vis[v] = true;
}
}
}
sort(v1.begin(), v1.end());
sort(v2.begin(), v2.end());
return v2 == v1;
} void dfs(int dep) {
if (dep == 7) {
vector<int> v;
for (int i = 0; i < 7; i++) if (light[i]) v.push_back(i);
if (v.size() && judge(v)) ++ans;
return;
}
light[dep] = true;
dfs(dep + 1);
light[dep] = false;
dfs(dep + 1);
} void build_graph() {
G[0].push_back(1), G[0].push_back(5);
G[1].push_back(0), G[1].push_back(2), G[1].push_back(6);
G[2].push_back(1), G[2].push_back(3), G[2].push_back(6);
G[3].push_back(2), G[3].push_back(4);
G[4].push_back(3), G[4].push_back(5), G[4].push_back(6);
G[5].push_back(0), G[5].push_back(4), G[5].push_back(6);
G[6].push_back(1), G[6].push_back(2), G[6].push_back(4), G[6].push_back(5);
} int main() {
ios::sync_with_stdio(false);
cin.tie(0);
build_graph();
dfs(0);
cout << ans << "\n";
return 0;
}

E. 平面分割

答案

1391

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int line[25] = {};
line[1] = 2;
for (int i = 2; i <= 20; i++) {
line[i] = line[i - 1] + i;
}
int ans = line[20];
for (int i = 1; i <= 20; i++) {
ans += 40 + 2 * (i - 1);
}
cout << ans << "\n";
return 0;
}

F. 成绩分析

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
scanf("%d", &n);
int mx = -1, mi = 101, sum = 0;
for (int i = 0; i < n; i++) {
int x;
scanf("%d", &x);
mx = max(mx, x);
mi = min(mi, x);
sum += x;
}
printf("%d\n", mx);
printf("%d\n", mi);
printf("%.2f\n", 1.0 * sum / n);
return 0;
}

G. 回文日期

代码

#include <bits/stdc++.h>
using namespace std;
const int month[2][13] = {
{ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
{ 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
};
string my_to_string(int n) {
string s;
do {
s += '0' + n % 10;
n /= 10;
} while (n);
reverse(s.begin(), s.end());
return s;
}
int my_stoi(const string &s) {
int res = 0;
for (int i = 0; i < int(s.size()); i++) {
res = res * 10 + s[i] - '0';
}
return res;
}
bool is(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
bool legal(const string &s) {
int y = my_stoi(s.substr(0, 4));
int m = my_stoi(s.substr(4, 2));
int d = my_stoi(s.substr(6, 2));
if (m < 1 || m > 12) return false;
if (d < 1 || d > month[is(y)][m]) return false;
return true;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
vector<int> v1, v2;
for (int i = 1000; i <= 9999; i++) {
string s1(my_to_string(i));
string s2(s1.rbegin(), s1.rend());
string s = s1 + s2;
string t(s.rbegin(), s.rend());
if (legal(s)) {
if (s == t) {
v1.push_back(my_stoi(s));
}
if ((s[0] == s[2] && s[2] == s[5] && s[5] == s[7]) &&
(s[1] == s[3] && s[3] == s[4] && s[4] == s[6]) &&
(s[0] != s[1])) {
v2.push_back(my_stoi(s));
}
}
}
int n;
cin >> n;
cout << *upper_bound(v1.begin(), v1.end(), n) << "\n";
cout << *upper_bound(v2.begin(), v2.end(), n) << "\n";
return 0;
}

H. 子串分值

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
string s;
cin >> s;
int n = s.size();
vector<vector<int> > pos(26);
for (int i = 0; i < 26; i++) {
pos[i].push_back(-1);
}
for (int i = 0; i < n; i++) {
pos[s[i] - 'a'].push_back(i);
}
for (int i = 0; i < 26; i++) {
pos[i].push_back(n);
}
long long ans = 0;
for (int i = 0; i < 26; i++) {
for (int j = 1; j + 1 < int(pos[i].size()); j++) {
int l = pos[i][j] - pos[i][j - 1] - 1;
int r = pos[i][j + 1] - pos[i][j] - 1;
ans += 1LL * (l + 1) * (r + 1);
}
}
cout << ans << "\n";
return 0;
}

2020第十一届蓝桥杯第二场省赛C++A组【A-H】的更多相关文章

  1. 2020第十一届蓝桥杯第二场JavaB组

    第一题:门牌制作(624) 题目大意: 判断1到2020里面共有多少个'2': 解析: 本题简而言之就是找'2'这一个数 第一种方法:遍历将其转换为字符然后再遍历寻找 第二种方法:直接用数值的方法进行 ...

  2. Java实现第十一届蓝桥杯JavaB组 省赛真题

    试题 A: 指数计算 本题总分:5 分 [问题描述] 7 月 1 日是建党日,从 1921 年到 2020 年, 已经带领中国人民 走过了 99 年. 请计算:7 ^ 2020 mod 1921,其中 ...

  3. CTF-i春秋网鼎杯第二场misc部分writeup

    CTF-i春秋网鼎杯第二场misc部分writeup 套娃 下载下来是六张图片 直接看并没有什么信息 一个一个查看属性 没有找到有用信息 到winhexv里看一下 都是标准的png图片,而且没有fla ...

  4. Java实现 第十一届蓝桥杯——走方格(渴望有题目的大佬能给小编提供一下题目,讨论群:99979568)

    走方格 问题描述在平面上有一些二维的点阵. 这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第1 至第 m 列,每一个点可以用行号和列号来表示. 现在有个人站在第 ...

  5. Java实现 第十一届蓝桥杯——超级胶水(渴望有题目的大佬能给小编提供一下题目,讨论群:99979568)

    PS: 好久没写过算法题了,总感觉自己写的思路没问题,但是结果就是不对,希望哪位大佬有时间能给找找问题 超级胶水 小明有n颗石子,按顺序摆成一排,他准备用胶水将这些石子黏在一起. 梅克什字有自己的重量 ...

  6. 2016年第七届蓝桥杯c/c++省赛B组

    2016年第七届蓝桥杯c/c++省赛B组 声明:以下答案是我自己做的.不能保证正确,须要參考正确答案的请到其它地方找. 第一题 :煤球数目 题目叙述: 有一堆煤球,堆成三角棱锥形.详细: 第一层放1个 ...

  7. 第六届蓝桥杯软件类省赛题解C++/Java

    第六届蓝桥杯软件类省赛题解C++/Java 1[C++].统计不含4的数字统计10000至99999中,不包含4的数值个数.答:暴力循环范围内所有数字判断一下就是了,答案是52488 1[Java]. ...

  8. Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛

    有错误的或者有问题的欢迎评论 十六进制数1949对应的十进制数 19000互质的数的个数 70044与113148的最大公约数 第十层的二叉树 洁净数 递增序列 最大的元素距离 元音字母辅音字母的数量 ...

  9. Java 第十一届 蓝桥杯 省模拟赛 梅花桩

    小明每天都要练功,练功中的重要一项是梅花桩. 小明练功的梅花桩排列成 n 行 m 列,相邻两行的距离为 1,相邻两列的距离也为 1. 小明站在第 1 行第 1 列上,他要走到第 n 行第 m 列上.小 ...

随机推荐

  1. 二进制格式 PLY 模型文件的读取与渲染

    PLY 文件头部信息: ply format binary_little_endian 1.0 comment VCGLIB generated element vertex 13469 proper ...

  2. mongodb表索引备份,索引的导出导入

    背景 发现有两个mongodb环境的数据库表索引不一致,另一个数据库有索引缺失,需要将一个数据库里的所有表索引导入到另一个数据库 也可用于单独备份数据库所有表的索引 写mongo shell的js脚本 ...

  3. Docker学习笔记之基本命令使用

    测试的环境为Ubuntu1804. 1. search命令搜索镜像 sudo docker search centos 搜索centos相关的镜像,可以看到第一个最多星的的centos是官方的镜像,而 ...

  4. 【Linux】ssh远程连接到指定ip的指定用户上

    通过ssh可以远程连接到其他的机器上,但是如果只想连接到指定的用户的话 需要这样做: -l 选项 (是L不是I,小写) ssh IP -l 用户名 这里的ip如果在hosts下就可以直接输入域名或者主 ...

  5. 创建并使用https证书

    目录 前言 产生证书 测试https服务器 用tls加密tcp连接 总结 前言 https要比http更安全些,因此可以配置Nginx服务器使用证书,客户端就会去第三方平台校验证书. 但是我们自己的服 ...

  6. ObjectMapper将josn字符串转化为List

    一.利用ObjectMapper将json字符串转为List Student.java package objectmapper; import java.io.Serializable; publi ...

  7. 前端知识(一)04 Vue.js入门-谷粒学院

    目录 一.介绍 1.Vue.js 是什么 2.初识Vue.js 二.基本语法 1.基本数据渲染和指令 2.双向数据绑定 3.事件 4.修饰符 5.条件渲染 6.列表渲染 7.实例生命周期 一.介绍 1 ...

  8. rbd-db数据迁移至外部数据库

    部署外部数据库 安装Docker export VERSION=19.03 && curl -fsSL http://rainbond-pkg.oss-cn-shanghai.aliy ...

  9. 在OpenDaylight controller上开发App

    安装环境:Ubuntu18.04 一.安装依赖 1. 安装JDK: sudo apt update sudo apt install openjdk-8-jdk-headless 选择默认的 JDK: ...

  10. jQuery 页面滚动 吸顶 和 吸底

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...