• 无聊的我写了一个代码 。。。P1605 迷宫


    搜索水题 

    哎 直接不行了 。

    #include <ctype.h>
    #include <cstdio>
    void read(int &x)
    {
        x=0;char ch=getchar();
        while(!isdigit(ch)) ch=getchar();
        while(isdigit(ch)) {x=x*10+int(ch-48);ch=getchar();} 
    }
    int ans,sx,sy,tx,ty,n,m,t,atlas[11][11][11][11],fx[5]={1,-1,0,0},fy[5]={0,0,-1,1};
    void bfs(int a,int b,int c,int d)
    {
        int f[1111][3],l=0,r=0;
        f[++r][1]=a;f[r][2]=b;
        do
        {
            int x_=f[++l][1],y_=f[l][2];
            for(int i=0;i<4;i++)
            {
                int t_x=x_+fx[i],t_y=y_+fy[i];
                if(atlas[x_][y_][t_x][t_y]==0&&t_x>=1&&t_x<=n&&t_y>=1&&t_y<=m)
                {
                    if(t_x==c&&t_y==d) ans++;
                    atlas[x_][y_][t_x][t_x]=1;
                    f[++r][1]=t_x;f[r][2]=t_y;
                }
            }
        }while(l<r);
    }
    int main()
    {
        read(n);read(m);read(t);
        read(sx);read(sy);read(tx);read(ty);
        for(int x,y;t--;)
        {
            read(x);read(y);
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=m;j++)
                atlas[x][y][i][j]=1;
            }
        }
        bfs(sx,sy,tx,ty);
        printf("%d",ans);
        return 0;
    }
    40分 有兴趣帮忙看看
    #include <ctype.h>
    #include <cstdio>
    void read(int &x)
    {
        x=0;char ch=getchar();
        while(!isdigit(ch)) ch=getchar();
        while(isdigit(ch)) {x=x*10+int(ch-48);ch=getchar();} 
    }
    bool za[11][11];
    int ans,n,m,t,sx,sy,tx,ty,fx[5]={1,-1,0,0},fy[5]={0,0,-1,1};
    void dfs(int x,int y)
    {
        za[x][y]=1;
        if(x==tx&&y==ty) {ans++;return;} 
        for(int i=0;i<4;i++)
        {
            int t_x=x+fx[i],t_y=y+fy[i];
            if(t_x>=1&&t_x<=n&&t_y>=1&&t_y<=m&&!za[t_x][t_y])
            {
                dfs(t_x,t_y);
                za[t_x][t_y]=0;
            }
        }
    }
    int main()
    {
        read(n);
        read(m);
        read(t);
        read(sx);read(sy);read(tx);read(ty);
        for(int x,y;t--;)
        {
            read(x);
            read(y);
            za[x][y]=1;
        }
        dfs(sx,sy);
        printf("%d",ans);
        return 0;
    }
    AC
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    angularjs filter cut string
    使命令行实现访问代理
    计划
    第一周-第14章节-Python3.5-for 循环及作业要求 循环套循环
    第一周-第13章节-Python3.5-while 循环优化版本 改成for循环来实现输入3次
    第一周-第12章节-Python3.5-while 循环
    第一周-第11章节-Python3.5-if else流程判断
    第一周第10章节--用户交互程序与格式化输出
    结构(位置)伪类选择器(CSS3)
    css过渡效果
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6957093.html
Copyright © 2020-2023  润新知