acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 资讯
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • 答案

    #include <iostream> using namespace std; int R, C; char grid[20][20]; // dfs(x,y): 当前在(x,y),返回从(x,y)到终点的路径数 int dfs(int x, int y) { // 到达右下角,找到1条方案 if (x == R-1 && y == C-1) { return 1; } int res = 0; // 枚举所有可以跳过去的点 i>x, j>y for (int i = x+1; i < R; i++) { for (int j = y+1; j < C; j++) { // 颜色不同才能跳 if (grid[i][j] != grid[x][y]) { res += dfs(i, j); } } } return res; } int main() { cin >> R >> C; for (int i = 0; i < R; i++) { cin >> grid[i]; } cout << dfs(0, 0) << endl; return 0; }

    userId_undefined
    骥(互关)
    空间掌握者循环·循环打卡人分支·分支解题者I/O·IO入门者倔强青铜
    0阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页