[NOIP2002 普及组] 过河卒
题解
讨论
查看他人的提交
题号:NC235061
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
棋盘上 A点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。
棋盘用坐标表示,A 点 (0, 0)、B点(n,m),同样马的位置坐标是需要给出的。
现在要求你计算出卒从 A点能够到达 B点的路径的条数,假设马的位置(x,y)是固定不动的,并不是卒走一步马走一步。
注:马一次跳跃到达的点(x1,y1)和马原坐标(x,y)的关系是
数据范围:
,马的坐标
示例1
输入
复制
6,6,3,3
6,6,3,3
返回值
复制
6
6
示例2
输入
复制
5,4,2,3
5,4,2,3
返回值
复制
3
3
示例3
输入
复制
2,5,3,5
2,5,3,5
返回值
复制
1
1
[NOIP2002 普及组] 过河卒
返回全部题目
列表加载中...
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ public int crossRiver (int n, int m, int x, int y) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ int crossRiver(int n, int m, int x, int y) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 棋盘行数 # @param m int整型 棋盘列数 # @param x int整型 马的横坐标 # @param y int整型 马的纵坐标 # @return int整型 # class Solution: def crossRiver(self , n , m , x , y ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ public int crossRiver (int n, int m, int x, int y) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ function crossRiver( n , m , x , y ) { // write code here } module.exports = { crossRiver : crossRiver };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 棋盘行数 # @param m int整型 棋盘列数 # @param x int整型 马的横坐标 # @param y int整型 马的纵坐标 # @return int整型 # class Solution: def crossRiver(self , n: int, m: int, x: int, y: int) -> int: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ func crossRiver( n int , m int , x int , y int ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ int crossRiver(int n, int m, int x, int y ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 棋盘行数 # @param m int整型 棋盘列数 # @param x int整型 马的横坐标 # @param y int整型 马的纵坐标 # @return int整型 # class Solution def crossRiver(n, m, x, y) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ def crossRiver(n: Int,m: Int,x: Int,y: Int): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ fun crossRiver(n: Int,m: Int,x: Int,y: Int): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ public int crossRiver (int n, int m, int x, int y) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ export function crossRiver(n: number, m: number, x: number, y: number): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ func crossRiver ( _ n: Int, _ m: Int, _ x: Int, _ y: Int) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 棋盘行数 * @param m int整型 棋盘列数 * @param x int整型 马的横坐标 * @param y int整型 马的纵坐标 * @return int整型 */ pub fn crossRiver(&self, n: i32, m: i32, x: i32, y: i32) -> i32 { // write code here } }
6,6,3,3
6
5,4,2,3
3
2,5,3,5
1