第十届蓝桥杯大赛青少年创意编程C++组省赛 第1题 水下探测器
生活随笔
收集整理的這篇文章主要介紹了
第十届蓝桥杯大赛青少年创意编程C++组省赛 第1题 水下探测器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
第十屆藍橋杯大賽青少年創意編程C++組省賽 第1題 水下探測器(劉昕源)水下探測器可以潛入湖中在任意水深進行科學探索。湖水的最大深度為 h 米,即它在湖底時到水面的距離,0<=h<=100;探測器最初的水下深度為 s 米,0<=s<=100;當探測器不在水面(當前深度大于 0)時,每個 u 指令可使它上浮 1 米,
而當探測器在水面時,u 指令是無效的;當探測器不在湖底(當前深度小于 h)時,每個 d 指令可使它下沉 1 米,
而當探測器在湖底時,d 指令是無效的;在執行到無效指令時,探測器不做任何操作而繼續執行下一指令。編程實現:
根據給定的 h、s 和一個指令序列(由字符 u、d 組成的字符串,長度不超過 100),
求出執行完整的指令序列后,探測器的水下深度。輸入:
第一行:h 和 s,以空格分開。0<=s<=h<=100
第二行:長度不超過 100 的指令字符串,串中僅包含字母 u 或 d輸出:
代表探測器在執行指令后的水下深度的數字。樣例輸入:
9 1
uduudd樣例輸出:
2
*/
#include <cstdio>
#include <string>
#include <bits/stdc++.h>
using namespace std;
int main(){string str;int h, s;scanf("%d%d",&h,&s);cin>>str;for(int i = 0; i <= str.length() - 1; ++i){if(str[i] == 'u'){if(s > 0){--s;}else{if( s==0){continue;}//s=0;}}if(str[i] == 'd'){if(s < h ){++s;}else{if( s==h){continue;}}}}printf("%d",s);return 0;
}
scratch代碼參考鏈接
https://blog.csdn.net/gnn8291/article/details/90632100
?
?
?
?
總結
以上是生活随笔為你收集整理的第十届蓝桥杯大赛青少年创意编程C++组省赛 第1题 水下探测器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第十一届蓝桥杯省赛C++组试题 第5题
- 下一篇: 1.13编程基础之综合应用_30_1的个