日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LETTERS (信息学奥赛一本通-T1212)

發布時間:2025/3/17 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LETTERS (信息学奥赛一本通-T1212) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【題目描述】

給出一個roe×col的大寫字母矩陣,一開始的位置為左上角,你可以向上下左右四個方向移動,并且不能移向曾經經過的字母。問最多可以經過幾個字母。

【輸入】

第一行,輸入字母矩陣行數R和列數S,1≤R,S≤20。

接著輸出R行S列字母矩陣。

【輸出】

最多能走過的不同字母的個數。

【輸入樣例】

3 6
HFDFFB
AJHGDH
DGAGEH

【輸出樣例】

6

【源程序】

#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #define N 30 using namespace std; int r,s; char a[N][N]; int vis[N][N]; int num[26]; int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; int maxx=0; void dfs(int x,int y,int step) {if(maxx<step)maxx=step;for(int i=0;i<4;i++){int nx=x+dir[i][0];int ny=y+dir[i][1];if(nx>=0&&nx<r&&ny>=0&&ny<s&&vis[nx][ny]==0&&num[a[nx][ny]-'A']==0){vis[nx][ny]=1;num[a[nx][ny]-'A']=1;dfs(nx,ny,step+1);vis[nx][ny]=0;num[a[nx][ny]-'A']=0;}} } int main() {cin>>r>>s;for(int i=0;i<r;i++)for(int j=0;j<s;j++)cin>>a[i][j];num[a[0][0]-'A']=1;vis[0][0]=1;dfs(0,0,1);cout<<maxx<<endl;return 0; }

?

總結

以上是生活随笔為你收集整理的LETTERS (信息学奥赛一本通-T1212)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。