【蓝桥杯历年题】2020蓝桥杯A组省赛第二场(10.17)【含蓝桥杯官网提交地址】
生活随笔
收集整理的這篇文章主要介紹了
【蓝桥杯历年题】2020蓝桥杯A组省赛第二场(10.17)【含蓝桥杯官网提交地址】
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 第一題:門(mén)牌制作(枚舉)
- 答案:624
- 第二題:既約分?jǐn)?shù)(最大公約數(shù))
- 答案:2481215
- 第三題:蛇形填數(shù)(模擬)
- 答案:761
- 第四題:7段碼(dfs + 并查集 | 位運(yùn)算,觀察)
- 答案:80
- 第五題:平面分割(數(shù)學(xué) | 找規(guī)律)
- 答案:1391
- 第六題:成績(jī)統(tǒng)計(jì)(模擬)
- 第七題:回文日期(日期處理)
- 藍(lán)橋杯官網(wǎng)`to_string()`不能用
- 第八題:子串分值(枚舉)
- 注:藍(lán)橋杯練習(xí)系統(tǒng)`auto` 不能用
- 第九題:荒島探測(cè)
- 第十題:字串排序
藍(lán)橋杯官網(wǎng)提交地址
題目鏈接
第一題:門(mén)牌制作(枚舉)
答案:624
#include <iostream>using namespace std;int get(int x) {int res = 0;while(x){if(x % 10 == 2) res++;x /= 10;}return res; }int main() {int res = 0;for(int i = 1;i <= 2020;i ++ ){res += get(i);}cout << res;return 0; }第二題:既約分?jǐn)?shù)(最大公約數(shù))
答案:2481215
#include <iostream> #include <algorithm>using namespace std;int main() {int res = 0;for(int i = 1;i <= 2020;i ++ )for(int j = 1;j <= 2020;j ++)if(__gcd(i,j) == 1) res++;cout << res;return 0; }第三題:蛇形填數(shù)(模擬)
答案:761
橫坐標(biāo) + 列坐標(biāo) - 1 = 行數(shù),20行20列為 39行最中間那個(gè)數(shù)
第四題:7段碼(dfs + 并查集 | 位運(yùn)算,觀察)
答案:80
題解地址
第五題:平面分割(數(shù)學(xué) | 找規(guī)律)
答案:1391
20 個(gè)圓和 20 條直線最多能把平面分成多少個(gè)部分?
第六題:成績(jī)統(tǒng)計(jì)(模擬)
浮點(diǎn)數(shù)四舍五入技巧: +0.5取int
\轉(zhuǎn)義字符
第七題:回文日期(日期處理)
藍(lán)橋杯官網(wǎng)to_string()不能用
詳細(xì)題解
判斷日期是否合法學(xué)一手!
藍(lán)橋杯官網(wǎng)提交
#include <iostream> #include <algorithm> #include <cstring>using namespace std;int x; int days[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31};bool valid(int x) {int year = x / 10000;int month = x % 10000 / 100;int day = x % 100;if (month == 0 || month > 12) return false;if (day == 0 || month != 2 && day > days[month]) return false;if (month == 2){bool leap = year % 100 && year % 4 ==0 || year % 400 == 0; //判斷閏年if (day > 28 + leap) return false;}return true; }bool check_ABAB(int x) {int a = x / 10000000, b = x / 1000000 % 10, c = x / 100000 % 10, d = x / 10000 % 10;return a == c && b == d && a != b; }int main() {int x;cin >> x;bool f = 1;for(int i = 1000;i ;i ++) // 根據(jù)年份構(gòu)造回文日期{int data = i, t = i;for(int j = 0;j < 4;j ++ ) data = data * 10 + t % 10, t /= 10; // 生成回文日期if(data > x && valid(data) && f){cout << data <<endl;f = 0;}if(data > x && valid(data) && check_ABAB(data)){cout << data;break;}}return 0; }第八題:子串分值(枚舉)
分析:
不能陷入找子串的思維中,不然時(shí)間復(fù)雜度就是O(n2)O(n ^ 2)O(n2)的量級(jí),考慮每個(gè)字母對(duì)子串的貢獻(xiàn)。
注:藍(lán)橋杯練習(xí)系統(tǒng)auto 不能用
#include <iostream> #include <vector>using namespace std;vector<int> pos[26];int main() {string s;cin >> s;s = "0" + s; // 下標(biāo)從0開(kāi)始int n = s.size();for(int i = 0;i < 26;i ++ ) pos[i].push_back(0); // 處理邊界for(int i = 1;i <= n - 1;i ++ ) {pos[s[i] - 'a'].push_back(i);}for(int i = 0;i < 26;i ++ ) pos[i].push_back(n); // 處理邊界long long res = 0;for(int i = 0;i < 26;i ++ ){vector<int> c = pos[i];if(c.size() == 2) continue; // 字母沒(méi)出現(xiàn)過(guò)for(int i = 1;i < c.size() - 1;i ++ ){res += (long long)(c[i] - c[i - 1]) * (c[i + 1] - c[i]);}}cout << res << endl;return 0; }第九題:荒島探測(cè)
評(píng)測(cè)地址
第十題:字串排序
評(píng)測(cè)地址
總結(jié)
以上是生活随笔為你收集整理的【蓝桥杯历年题】2020蓝桥杯A组省赛第二场(10.17)【含蓝桥杯官网提交地址】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 前端学习(2004)vue之电商管理系统
- 下一篇: oracle之单行函数之子查询