前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【题解】Cow Hopscotch S

【题解】Cow Hopscotch S

作者头像
MikeC
发布2022-09-21 11:44:00
3900
发布2022-09-21 11:44:00
举报
文章被收录于专栏:MikeC's BlogMikeC's Blog

题目描述

牛跳房子游戏在一个 R \times C 的网格中进行,每个格子上有一个 1 \cdots K 的数字( 1 \leq K \leq R \times C )

牛从网格的左上角出发,跳到右下角。一次跳跃是合法的,当且仅当满足以下的所有条件:

  1. 目标格子与当前所在格子的数字不同;
  2. 目标格子至少应在当前格子下一行;
  3. 目标格子至少应在当前格子右一列。

现在请你求出:从左上角跳到右下角的合法跳跃的方案数量。

输入格式:第一行输入三个数字,R , C , K .接下来R行每行输入C 个数字来描述游戏地图。保证每个数字都在1 \leq K的范围内。

输出格式:输出总方案数 \mod 10^9+7 的结果。

输入格式

第一行输入三个数字, R , C , K.接下来 R 行每行输入 C 个数字来描述游戏地图。保证每个数字都在 1 \leq K 的范围内。

输出格式

输出总方案数 \mod 10^9+7 的结果。

输入输出样例

输入 #1

代码语言:javascript
复制
4 4 4
1 1 1 1
1 3 2 1
1 2 4 1
1 1 1 1

输出 #1

代码语言:javascript
复制
5

分析

如图,当计算到点 (3,3) 即红色点时,这个点的方案数是所有可以跳到这个点的点的方案数之和,也就是点 (1,1),(1,2),(2,1),(2,2) 即黄色点的方案数,于是我们很容易就可以得到状态转移方程,注意边界为点 (1,1) 的方案数,因为显然我们会从这个点开始计算且只有开始计算这一种方式来到达点 (1,1), 因此它的方案数为 1

代码

代码语言:javascript
复制
#include<bits/stdc++.h>
#define int long long
const int MOD = 1000000007;
using namespace std;
int r,c,k;
int f[1001][1001],a[1001][1001];
signed main(){
//    freopen("hopscotch.in","r",stdin);
//    freopen("hopscotch.out","w",stdout);
    scanf("%lld%lld%lld",&r,&c,&k);
    for(int i=1;i<=r;i++){
        for(int j=1;j<=c;j++){
            scanf("%lld",&a[i][j]);
        }
    }
    f[1][1]=1;
    for(int i=1;i<=r;i++){
        for(int j=1;j<=c;j++){
            for(int m=1;m<i;m++){
                for(int n=1;n<j;n++){
                    if(a[i][j]!=a[m][n]){
                        f[i][j]+=f[m][n];
                        f[i][j]%=MOD; 
                    }
                }
            }
        }
    }
    printf("%lld",f[r][c]);
    return 0;
}

最后修改:2021 年 07 月 04 日 04 : 08 PM

© 允许规范转载

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 07 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 输入格式
  • 输出格式
  • 输入输出样例
    • 输入 #1
      • 输出 #1
      • 分析
      • 代码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档