蓝桥杯2021初赛] 路径
时间: 2024-05-19 16:14:32 浏览: 12
这道题目比较简单,可以使用递归来实现。
首先,我们需要读入输入数据,包括地图的大小和地图的内容。假设地图大小为 $n\times m$,我们可以用一个 $n\times m$ 的二维数组来表示地图。其中,0 表示空地,1 表示障碍物。
接下来,我们需要定义一个递归函数来计算从起点到终点的路径数量。假设我们要计算从 $(x_1,y_1)$ 到 $(x_2,y_2)$ 的路径数量,我们可以按照以下方式递归:
- 如果 $(x_1,y_1)$ 等于 $(x_2,y_2)$,说明已经到达终点,返回 1。
- 如果 $(x_1,y_1)$ 不在地图范围内,或者是障碍物,返回 0。
- 否则,从 $(x_1,y_1)$ 出发,分别向上、下、左、右四个方向走,每次递归计算从当前位置到终点的路径数量。将四个方向的路径数量相加,即为从 $(x_1,y_1)$ 到 $(x_2,y_2)$ 的路径数量。
最后,我们在主函数中调用递归函数,计算从起点到终点的路径数量,并输出结果即可。
完整代码如下:
相关问题
1551: [蓝桥杯2021初赛] 直线
题目描述:
给定平面上的两个点 A(x1,y1) 和 B(x2,y2),请你编写一个程序,计算出点 A 和点 B 之间的直线方程 Ax+By+C= 中的系数 A、B、C。
输入格式:
输入共一行,包含四个整数 x1、y1、x2、y2,分别表示点 A 和点 B 的坐标。
输出格式:
输出共一行,包含三个整数 A、B、C,表示直线方程 Ax+By+C= 中的系数。
数据范围:
-100≤x1,y1,x2,y2≤100
输入样例1:
1 1
输出样例1:
-1 1
输入样例2:
1 1 -1 -1
输出样例2:
解题思路:
根据两点式求解直线方程
直线方程:Ax+By+C=
两点式:(y-y1)/(x-x1)=(y2-y1)/(x2-x1)
化简后可得:y=(y2-y1)/(x2-x1)*x+(x1y2-x2y1)/(x1-x2)
将其转化为标准的直线方程即可
A=(y2-y1)/(x2-x1)
B=-1
C=(x1y2-x2y1)/(x1-x2)
AC同时除以gcd(A,C)即可
代码如下:
[蓝桥杯2018初赛]倍数问题
题目描述
输入一个整数n,输出1~n中所有是3或5的倍数的数的和。
输入格式
一个整数n。
输出格式
一个整数,表示满足条件的数的和。
数据范围
1≤n≤10000
输入样例
16
输出样例
60
算法
(暴力枚举) $O(n)$
枚举1~n中每个数,如果是3或5的倍数则加入答案中。
时间复杂度
暴力枚举,时间复杂度 $O(n)$。
空间复杂度
只需要常数个变量,空间复杂度 $O(1)$。
Java 代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 || i % 5 == 0) {
sum += i;
}
}
System.out.println(sum);
}
}
Python 代码
n = int(input())
sum = 0
for i in range(1, n + 1):
if i % 3 == 0 or i % 5 == 0:
sum += i
print(sum)
C++ 代码
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 || i % 5 == 0) {
sum += i;
}
}
cout << sum << endl;
return 0;
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)