免费试用:最火的人工智能查询工具
     最强AI人工智能聊天工具
     对话机器人解答疑难问题
星外智问直连原始API接口(GPT-4o)
➡️未登录受限条数,请登陆使用完整服务>>>➡️
请输入您要问的问题:


查下百度  查下必应

以下是单个问题的回复:

问:回文路 1000ms/512mb 【问题描述】 在一个 N×N 的矩阵中,每个单元格都有一个 A...Z 的大写字符,现从左上角走到右下角,每次往右或者往下走一格,记录路径上的字符,构成一个字符串,判断该字符串是否为回文串。 请计算一共有多少种不同的回文串,不同路径构成的相同回文串只计算一次。 【输入格式】 第一行一个整数 N 。 接下来 N 行,每行 N 个 A...Z 大写字符。 【输出格式】 一行一个整数,表示不同的回文串种数。 【输入样例】 4 ABCD BXZX CDXB WCBA 【输出样例】 4 【提示】 C++深搜不用vector实现代码
GPT答: 7i24.cn
```cpp
#include <iostream>
#include <unordered_set>
using namespace std;

const int MAXN = 105;
char matrix[MAXN][MAXN];
int n;
unordered_set<string> palindromeSet;

void dfs(int x, int y, string path) {
    if (x == n && y == n) {
        string reversePath = path;
        reverse(reversePath.begin(), reversePath.end());
        palindromeSet.insert(path + reversePath);
        return;
    }
    
    if (x + 1 <= n) {
        dfs(x+1, y, path + matrix[x+1][y]);
    }
    
    if (y + 1 <= n) {
        dfs(x, y+1, path + matrix[x][y+1]);
    }
}

int main() {
    cin >> n;
    
    for (int i = 0; i < MAXN; i++) {
        for (int j = 0; j < MAXN; j++) {
            matrix[i][j] = ' ';
        }
    }
    
    for (int i = 1; i <= n; i++) {
         for(int j=1;j<=n;j++){
             cin>>matrix[i][j];
         }   
     }

     dfs(0,0,string(1,matrix[0][0]));
     
     cout<<palindromeSet.size()<<endl;

     return 0;
}
```
一星  二星  三星  四星  五星 

互联网非法外之地,请不要输入不良内容
 查下百度 查下必应 06-30 20:29:31



chatGPT中国版--星外智问--8v6.CN
当前运行网址:haoadm.com
客服微信:xwgdd_com APP下载 怎么问 识别真假GPT4 使用GPT赚钱 退出登陆