• Crossword Answers UVA


    题目大意

    感觉挺水的一道题。找出左面右面不存在或者是黑色的格子的白各,然后编号输出一横向单词和竖向单词(具体看原题)

    解析

    ①找出各个格子的编号

    ②对每个节点搜索一下

    ③输出的时候注意最后一个数据后面没有空行,也就是空行得在上面出

    代码

    #include <bits/stdc++.h>
    using namespace std;
    char mp[100][100];
    int bk[100][100],bk1[100][100],bk2[100][100];
    int n,m;
    void dfs(int x,int y)
    {
      printf("%3d.",bk[x][y]);
      while(1)
      {
        if(mp[x][y]!='*'&&y<m)
        {
          cout<<mp[x][y];
          y++;
          bk1[x][y]=1;
        }
        else
        {
          cout<<endl;
          break;
        }
      }
    }
    void dfs1(int x,int y)
    {
      printf("%3d.",bk[x][y]);
      while(1)
      {
        if(mp[x][y]!='*'&&x<n)
        {
          cout<<mp[x][y];
          x++;
          bk2[x][y]=1;
        }
        else
        {
          cout<<endl;
          break;
        }
      }
    }
    int main()
    {
      /*ios::sync_with_stdio(0);
      cin.tie(0);
      cout.tie(0);*/
      int t=1;
      while(cin>>n>>m)
      {
        if(n==0)
        break;
        int p=0;
        memset(bk,0,sizeof(bk));
        memset(bk1,0,sizeof(bk1));
        memset(bk2,0,sizeof(bk2));
        for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        cin>>mp[i][j];
        for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        if(i-1<0||j-1<0||mp[i-1][j]=='*'||mp[i][j-1]=='*')
        if(mp[i][j]!='*')
        bk[i][j]=++p;
        if(t>1)
        cout<<"
    ";
        printf("puzzle #%d:
    ",t++);
        printf("Across
    ");
        for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        if(!bk1[i][j]&&mp[i][j]!='*')
        dfs(i,j);
        printf("Down
    ");
        for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        if(!bk2[i][j]&&mp[i][j]!='*')
        dfs1(i,j);
        //cout<<"
    ";
      }
    }
    
  • 相关阅读:
    Cox回归模型【生存分析】
    推荐系统整理
    推荐——基于python
    经纬度坐标数据处理——基于R
    横截面数据分类——基于R
    《利用python进行数据分析》NumPy基础:数组和矢量计算 学习笔记
    python模块hashlib & hmac
    python unittest+parameterized,单元测试框架+参数化
    使用docker安装mysql并连接
    用docker部署RabbitMQ环境
  • 原文地址:https://www.cnblogs.com/baccano-acmer/p/10028216.html
Copyright © 2020-2023  润新知