當前位置:編程學習大全網 - 編程軟體 - 通用編程

通用編程

C++代碼如下:

# include & ltbits/stdc++。h & gt// C++通用頭文件

使用命名空間std

int dx[4] = {-1,1,0,0 };

int dy[4] = {0,0,-1,1 };

int n,m;

char mat[3000][3000];//字符矩陣

int DP[3000][3000][6];//內存搜索

string s = " IAKCSP

Int dfs(int x,int y,int i) {//從當前位置開始,可以匹配s[i:5]的個數。

如果(i == 5)

返回DP[x][y][I]= 1;//匹配到最後,返回1個可行解。

if (dp[x][y][i]!= -1)

return DP[x][y][I];

DP[x][y][I]= 0;

for(int k = 0;k & lt4;++k) {

int nx = x + dx[k],ny = y+dy[k];

if(NX & gt;= 0 & amp& ampnx & ltn & amp& ampny & gt= 0 & amp& ampny & ltm

& amp& ampmat[nx][ny] == s[i + 1])

dp[x][y][i] += dfs(nx,ny,I+1);

}

return DP[x][y][I];

}

int main() {

memset(dp,-1,sizeof(DP));//初始化為-1

CIN & gt;& gtn & gt& gtm;

for(int I = 0;我& ltn;++i) {

for(int j = 0;j & ltm;++j)

CIN & gt;& gtmat[I][j];

}

int ans = 0;

for(int I = 0;我& ltn;++i) {

for(int j = 0;j & ltm;++j)

if (mat[i][j] == s[0])

ans += dfs(i,j,0);

}

cout & lt& ltans & lt& lt”\ n”;

返回0;

}

G++編譯通過的測試用例,希望采納~

  • 上一篇:有必要學壹門編程語言嗎?
  • 下一篇:數控鉆床如何編程?
  • copyright 2024編程學習大全網