清理水域--枚举
8.清理水域 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/2413/learning/?page=1&first_category_id=1&second_category_id=3&tags=2023 小蓝有一个n × m大小的矩形水域,小蓝将这个水域划分为n行m列,行数从1到n标号,列数从1到m标号。每行和每列的宽度都是单位1。 现在,这个水域长满了水草,小蓝要清理水草。每次,小蓝可以清理一块矩形的区域,从第r1行(含)到第r2行(含)的第c1列(含)到c2列(含)。经过一段时间清理后,请问还有多少地方没有被清理过。
#include<iostream>
using namespace std;const int N=1e2+10;
int a[N][N];int main() {int n,m;cin>>n>>m;int t;cin>>t;while(t--){int r1,c1,r2,c2;cin>>r1>>c1>>r2>>c2;for(int i=r1;i<=r2;i++){for(int j=c1;j<=c2;j++){a[i][j]=1;}}}int cnt=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]==1)cnt++;}}cout<<n*m-cnt;return 0 ;
}
附近最小
10.附近最小 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/2415/learning/?page=1&first_category_id=1&second_category_id=3&tags=2023 小蓝有一个序列a[1], a[2],.., a[n]. 给定一个正整数k,请问对于每一个1到n之间的序号i,a[i一], a[i一 k+1], .... a[i+厨]这2k+1个数中的最小值是多少? 当某个下标超过1到n的范围时,数不存在,求最小值时只取存在的那些值。
暴力法--通过80%用例
#include<iostream>
#include<climits>
using namespace std;const int N = 1e6 + 10;
int a[N];int main() {int n, k;cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i];}cin >> k;for (int i = 1; i <= n; i++) {int mn = INT_MAX; for (int j = i - k; j <= i + k; j++) {if (j >= 1 && j <= n) { mn = min(mn, a[j]);}}cout << mn << " "; }return 0;
}
判断蓝桥
11.判断蓝桥 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/2417/learning/?page=1&first_category_id=1&second_category_id=3&tags=2023
判断一个不区分大小写的字符串是否与某一个小写字符串相等,利用c++11特性结合tolower函数将每一个字符全部变成小写,在判断两个小写字符串是否相等。
#include <iostream>
#include <string>
using namespace std;int main() {string input;cin >> input;// 将字符串转换为小写for (char &c : input) {c = tolower(c);}if (input=="lanqiao") {cout << "yes" << endl;} else {cout << "no" << endl;}return 0;
}