zoukankan      html  css  js  c++  java
  • codeforecs Gym 100286B Blind Walk

    交互式程序,要用到一个函数fflush,它的作用是对标准输出流的清理,对stdout来说是及时地打印数据到屏幕上,一个事实:标准输出是以『行』为单位进行的,也即碰到 才打印数据到屏幕。这就可能造成延时。在Windows平台上是看不出来的,它被改成及时生效了。而fflush对stdin的作用是清除冗余输入。

    #include<cstdio>
    
    const int maxn = 123; //要AC
    const int maxlen = 42;
    bool vis[maxn][maxn];
    char dir[4][maxlen] = {"NORTH","EAST","SOUTH","WEST"};
    char done[] = "DONE";
    
    int dx[] = {0,1,0,-1} , dy[] = {1,0,-1,0};
    char response[maxlen];
    
    bool Move(int d)
    {
        puts(dir[d]);
        fflush(stdout);
        gets(response);
        return *response == 'E';
    }
    
    void dfs(int x,int y)
    {
        vis[x][y] = true;
        for(int i = 0; i < 4; i++) {
            int nx = x + dx[i], ny = y + dy[i];
            if(!vis[nx][ny] && Move(i)) dfs(nx,ny),Move((i+2)%4);
            else vis[nx][ny] = true;
        }
    }
    
    int main()
    {
        int x = 42, y = 42;
        dfs(x,y);
        puts(done);
        fflush(stdout);
        return 0;
    }
  • 相关阅读:
    python 2 和 python 3 的区别
    random模块、time模块、sys模块、os模块
    正则表达式
    生成器 推导式 生成器表达式
    免费的论文查重网站
    Django 13
    pycharm连接mysql出错解决方案
    前端 51
    前端 50
    前段 49
  • 原文地址:https://www.cnblogs.com/jerryRey/p/4714120.html
Copyright © 2011-2022 走看看