蓝桥杯例题(附源码)
hello,今天帶來幾道藍橋杯的例題。
1.字符串改成大寫, 逆序輸出:
題目描述
輸入一個只包括大小寫的字符串,全部成大寫, 逆序輸出
輸入
一個只包括大小寫的字符串
輸出
全部成大寫, 逆序輸出
樣例輸入?Copy
djdhWio樣例輸出?Copy
OIWHDJD來源/分類
藍橋杯
[提交] [狀態(tài)]
代碼
#include<bits/stdc++.h> using namespace std; int main() {string s;cin>>s;for (int i=0;i<s.size();i++){if (s[i]>=97 && s[i]<=122){s[i]-=32;}}for (int i=s.size()-1;i>=0;i--){cout<<s[i];}return 0; } list1 = input() list2 = list1.upper() print(list2[::-1])------------------------------------------------------------------------------------------------------------------------------
2.藍橋杯賽迷宮(第10屆C++省賽壓軸題)
題目描述
把一個 n 行 m 列的字符陣列看做一個迷宮,迷宮僅包含 L、Q、B、S 中的大寫字母(藍橋杯賽的漢語拼音
首字母)。
初始時,你可以從任意一個“L”字母開始,移向相鄰的“Q”字母,然后從此“Q”字母出發(fā),移向相鄰的
“B”字母,然后從此“B”字母出發(fā),移向相鄰的“S”字母……。這樣,你就算是走過了一個“LQBS”字符序
列。
接下來,仍然可以從此“S”字母出發(fā),移向相鄰的“L”字母……,重復(fù)上述的動作,你就可以不斷地走過
“LQBS”序列。
請注意,所謂相鄰僅包含上、下、左、右 4 個方向,且只能從 L->Q,從 Q->B,從 B->S,從 S->L。
可以想像,由于選擇的出發(fā)點不同,我們有可能在迷宮中走過無數(shù)次的“LQBS”,或者是有限次的“LQBS”,
或者一次也走不了。
編程實現(xiàn):
請你編寫程序,求出在給定的迷宮中,我們最多可以走過多少次“LQBS”?
輸入:
第一行:正整數(shù) n,m,表示迷宮的規(guī)模為 n 行 m 列(0<m<100,0<n<100)
接下來的 n 行:每行 m 個符合題意的字母,字母間無空格。
輸出:
一個整數(shù)。即:如果在迷宮中可以無限次的走過“LQBS”,輸出-1,否則,輸出可以走過“LQBS”的最
多次數(shù)。
樣例 1 輸入:
1 2
LQ
樣例 1 輸出:
0
樣例 2 輸入:
3 3
LSB
QBQ
BSL
樣例 2 輸出:
-1
樣例 3 輸入:
4 4
BLQB
BBQS
SBQL
QQQQ
樣例 3 輸出:藍橋杯全國軟件大賽青少年創(chuàng)意編程 C++組
2
將程序命名為“LQBS.cpp”。
樣例輸入?Copy
4 4 BLQB BBQS SBQL QQQQ樣例輸出?Copy
2來源/分類
藍橋杯?強?圖?搜索?DFS?黃金?
// ConsoleApplication7.cpp : 此文件包含 "main" 函數(shù)。程序執(zhí)行將在此處開始并結(jié)束。 //#include <iostream> #include <vector> using namespace std; int dx[4] = {-1,1,0,0}; int dy[4] = {0,0,-1,1}; int n, m; int gover = 0; vector<char> resvec; int sum = 0; char gmap[105][105]; //char sx[128] = { 'L','Q','B','S' }; bool visitedL[105][105] = {false}; bool ifposok(int nx, int ny) {if (nx >= 1 && nx <= n && ny >= 1 && ny <= m){return true;}return false; } bool findit() {if (resvec.size() % 4 == 0 && resvec[resvec.size() - 1] == 'S'){if (resvec[resvec.size() - 2] == 'B'){if (resvec[resvec.size() - 3] == 'Q'){if (resvec[resvec.size() - 4] == 'L'){return true;}}}}return false;} bool ifalphaok(int x ,int y ) {if (resvec.empty() && gmap[x][y] == 'L')return true;if (resvec[resvec.size()-1] == 'L' && gmap[x][y] == 'Q')return true;if (resvec[resvec.size() - 1] == 'Q' && gmap[x][y] == 'B')return true;if (resvec[resvec.size() - 1] == 'B' && gmap[x][y] == 'S')return true;if (resvec[resvec.size() - 1] == 'S' && gmap[x][y] == 'L'){visitedL[x][y] = true;return true;}return false;} int dfs(int x, int y) {if (findit()){// over 找到了一種結(jié)果 sum++;if (sum > 1000){cout << -1;gover = 1; return 1;}}{for (int i = 0; i < 4; i++){//如果 這個i 符合 ,選 中 。 。int newx = x + dx[i];int newy = y + dy[i]; if (ifposok(newx, newy)){if (ifalphaok(newx, newy)){resvec.push_back(gmap[newx][newy]);dfs(newx, newy);if (gover) return 1;resvec.pop_back();}}//dfs//把狀態(tài)恢復(fù) }}return 1; }int main() {cin >> n >> m; for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){cin >> gmap[i][j];}}for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){if (gmap[i][j] == 'L'){if (visitedL[i][j] == false){visitedL[i][j] = true;resvec.push_back(gmap[i][j]);dfs(i, j);if (gover) return 1;resvec.pop_back();}}}}cout << sum; }---------------------------------------------------------------------------------------------------------------------------------
3.藍橋杯訓(xùn)練-年號字符串
題目描述
【題目】
字母 A 對應(yīng)數(shù)字 1,B 對應(yīng) 2,以此類推,用 Z 對應(yīng) 26。對于 27 以上的數(shù)字,用兩位或更長位的字符串來對應(yīng),例如 AA 對應(yīng) 27,AB 對 應(yīng) 28,AZ 對應(yīng) 52,LQ 對應(yīng) 329。 請問 2021 對應(yīng)的字符串是什么?
樣例輸入?Copy
2021樣例輸出?Copy
BYS來源/分類
藍橋杯?數(shù)的進制?強?
#include <bits/stdc++.h> using namespace std; int main() {int n;string s;cin>>n;while(n){s=char((n%26+25)%26+65)+s;n/=26;}cout<<s;return 0; }---------------------------------------------------------------------------------------------------------------------------------
4.藍橋杯省賽模擬B-寫個“2”
題目描述
2020年2月,小藍參加“藍橋杯大賽青少年創(chuàng)意編程C++組”選拔賽。在一個這么“2”的時間里參 賽,小藍一時高興,忍不住在鍵盤上敲出了一個會寫“2”的程序。
輸入
一個整數(shù)?n(3<=n<=100)
輸出
一個由“*”組成的長、寬都是?n?的“2”字圖形,具體請參見樣例。
?
樣例輸入?Copy
5樣例輸出?Copy
******** *****來源/分類
藍橋杯?初級?循環(huán)?強?
#include<iostream> using namespace std; int main(){int a;cin>>a;for(int i=0;i<a;i++)cout<<'*';cout<<endl;for(int i=2;i<=a-1;i++){for(int j=0;j<a-i;j++) cout<<" "; cout<<'*'<<endl; }for(int i=0;i<a;i++)cout<<'*';return 0; }---------------------------------------------------------------------------------------------------------------------------------
5.找出1~N范圍內(nèi)的所有回文數(shù)字
題目描述
一個數(shù)字,如果從左到右讀與從右到左讀是一樣的,就稱為回文數(shù)字,例如:383、19891都 是回文數(shù)字。
輸入一個N值(N>0? && N<10000),請編程找出1到N范圍內(nèi)(包含1和N)的所有回文數(shù)字。
樣例輸入?Copy
100樣例輸出?Copy
1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99來源/分類
青銅??循環(huán)?條件?強?藍橋杯?
#include <iostream> using namespace std; int main(){int n;cin>>n;for(int i=1;i<=n;i++){int ik=i;int ig=0;while(ik!=0){ig=ig*10+ik%10;ik/=10;}if(ig==i){cout<<i<<endl;}}return 0; }---------------------------------------------------------------------------------------------------------------------------------
6.第10屆藍橋杯-貓吃魚
題目描述
明明家從 1 號站點出發(fā),開車去旅游,?共要經(jīng)過 n 個站點,依次為 1,2、3......n。 由于明明帶上了?愛的小貓,在每個站點都要為?貓?zhí)峁┮粭l?用做美餐 (包括 1 號站點)。
除了 1 號站點只能吃 1 號站點買的?,其他站點既可以吃當?shù)刭I的魚,也可吃之前經(jīng)過的站點買了了存入車載冰箱中的魚。 但?載冰箱消耗的電能來?汽油,所以每條魚用冰箱保存到下?站的費用與各個站點的汽油價格有關(guān)。
為使問題簡化,我們約定: (1)車從某站開出時油箱中都是此站點剛加的汽油。
(2)?載冰箱能容納?路上需要的所有魚。 即:每條?的費?既包括購買時的費用,也包括?冰箱保存魚的費用。?
編程實現(xiàn):
為了降低小貓吃魚的總代價,明明預(yù)先上網(wǎng)查到了這 n 個站點的魚價和 汽油價格。并據(jù)此算出每個站點買一條魚的費?以及從該站點到下一站用冰箱保存一條魚的費用。你能幫明明算出這一路上?貓吃魚的最?總費用嗎?
?
輸入
第?行:站點數(shù) n,1<n<100。
接下來的 n 行:每?兩個以空格分隔的正整數(shù),表示:這?站買一條魚的費用,以及從這?站把每條魚保存到下一站的費用,兩個費用均為小于 10000 的正整數(shù)。
輸出
最?總費用,是一個正整數(shù)。
樣例輸入?Copy
5 6 3 7 1 3 2 8 3 9 5樣例輸出?Copy
29來源/分類
#include<bits/stdc++.h> using namespace std; int main() {int n,a=0,b=0,min=2147483647,s=0;cin>>n;for(int i=0;i<n;i++){cin>>a>>b;if(min>a){min=a;}s=s+min;min=min+b;}cout<<s;return 0; }這后面還有好幾道,我下次再發(fā)吧。(求求了,給個關(guān)注和評論吧!!!!!)
總結(jié)
以上是生活随笔為你收集整理的蓝桥杯例题(附源码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新织梦CMS程序 小黑屋QQ技术导航新
- 下一篇: 测试通达信指标胜率的软件,选股指标成功率