8 条题解

  • 0
    @ 2025-3-30 15:02:56
    #include <bits/stdc++.h>
    using namespace std;
    const int N=1010;
    int n,m,ans;
    char g[N][N];
    string target="tencent";
    int dx[]={0,0,1,-1};
    int dy[]={1,-1,0,0};
    void dfs(int x,int y,int pos){
        if(pos==6){
            ans++;
            return;
        }
        for(int i=0;i<4;i++){
            int a=x+dx[i],b=y+dy[i];
            if(g[a][b]==target[pos+1]){
                dfs(a,b,pos+1);
            }
        }
    }
    
    int main(){
        cin>>n>>m;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                cin>>g[i][j];
            }
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if(g[i][j]=='t'){
                    dfs(i,j,0);
                }
            }
        }
        cout<<ans<<endl;
        return 0;
    }
    //tencent
    

    信息

    ID
    81
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    309
    已通过
    84
    上传者