2020第十一届蓝桥杯C++国赛B组真题和题解 (11.14决赛)

您所在的位置:网站首页 蓝桥杯历年真题c组 2020第十一届蓝桥杯C++国赛B组真题和题解 (11.14决赛)

2020第十一届蓝桥杯C++国赛B组真题和题解 (11.14决赛)

2023-11-04 09:12| 来源: 网络整理| 查看: 265

目录 试题A:美丽的2(5分)题解 试题B:扩散(5分)题解 试题C:阶乘约数(10分)题解 试题D:本质上升序列(10分)题解 试题E:玩具蛇(15分)题解 试题G:游园安排(20分)题解

试题A:美丽的2(5分)

【问题描述】 小蓝特别喜欢 2, 今年是公元 2020 年, 他特别高兴。 他很好奇, 在公元 1 年到公元 2020 年(包含)中, 有多少个年份的数位中包含数字 2?

【答案提交】 这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。

题解

答案:563

#include using namespace std; typedef long long ll; const int INF = 1e9; const int maxn = 1e5; int cnt; bool have2(int x){ while(x != 0){ if(x % 10 == 2){ return true; } x /= 10; } return false; } int main(){ int x; for(int i = 1; i cnt++; } } cout {-1, 0}, {0, -1}, {1, 0}, {0, 1}}; bool vis[maxn][maxn]; int cnt; int main(){ nds[0] = e{0, 0, 0}, nds[1] = e{2020, 11, 0}, nds[2] = {11, 14, 0}, nds[3] = e{2000, 2000, 0}; for(int i = 0; i e now = q.front(); q.pop(); // printf("x = %d, y = %d, step = %d\n", now.x, now.y, now.step); if(now.step == 2021){ break; } vis[now.x][now.y] = true; //标记 first 4 points cnt++; for(int i = 0; i vis[nx][ny] = true; //【一定要在这里标记 否则运行时间就爆炸了】 q.push(e{nx, ny, now.step + 1}); } } } cout if(x % i == 0){ return false; } } return true; } int main(){ for(int x = 2; x //素数表的index if(t == 1) break; while((t % prime[i]) == 0){ Hash[i]++; t /= prime[i]; } } } for(int i = 0; i ans *= (Hash[i] + 1); } } cout string tmp = ""; //要分两步 不能直接 string tmp = "" + str[i];(可能是因为string要先声明这个变量 再使用它的+特性) tmp += str[i]; if(s.find(tmp) == s.end()){ s.insert(tmp); vec[i].push_back(tmp); } } for(int i = 1; i if(str[j] //遍历vec[j]的每个字符串 string tmp = vec[j][k]; if(s.find(tmp + str[i]) == s.end()){ s.insert(tmp + str[i]); vec[i].push_back(tmp + str[i]); } } } } } cout 0, -1}, {1, 0}, {0, 1}}; bool in(int x, int y){ return x >= 0 && x = 0 && y ans++; return; } vis[x][y] = true; for(int i = 0; i dfs(nx, ny, step + 1); } } vis[x][y] = false; } int main(){ cin >> K; for(int i = 0; i memset(vis, 0, sizeof(vis)); dfs(i, j, 0); // printf("i = %d, j = %d, ans = %d\n", i, j, ans); } } cout i++; j++; } if(s1[i] >= 'a' && s2[j] >= 'a' || s1[i] // 一个大写一个小写 return s1[i] int j = i + 1; if(s[i] j++; } } string tmp = s.substr(i, j - i); ss[cnt++] = tmp; i = j; } //dp初始化 for(int i = 0; i for(int j = 0; j if(dp[j] + 1 > dp[i]){ dp[i] = dp[j] + 1; v[i] = v[j] + ss[i]; if(dp[i] > ansl){ ansl = dp[i]; anss = v[i]; } } else if(dp[j] + 1 == dp[i]){ //同等长度 if(less_than(v[j] + ss[i], v[i])){ v[i] = v[j] + ss[i]; //更新v[i] } if(dp[i] == ansl){ anss = v[i]; } } } } } cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3