⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 farm irrigation.txt

📁 以前ACM在哈工程HRBEU做的一些简单题目
💻 TXT
字号:
#include <iostream.h>
bool farm[11][4]={{1,0,0,1},{0,0,1,1},{1,1,0,0},{0,1,1,0},{0,1,0,1},{1,0,1,0},{1,0,1,1},{1,1,0,1},{1,1,1,0},{0,1,1,1},{1,1,1,1}};
bool p[50][50];
char s[50][51];
int m,n;
void bl(int i,int j)
{
     p[i][j]=false;
     if(farm[s[i][j]-'A'][0]==1&&j-1>=0&&p[i][j-1]==true&&farm[s[i][j-1]-'A'][2]==1)
     bl(i,j-1);
     if(farm[s[i][j]-'A'][1]==1&&i+1<m&&p[i+1][j]==true&&farm[s[i+1][j]-'A'][3]==1)
     bl(i+1,j);
     if(farm[s[i][j]-'A'][2]==1&&j+1<n&&p[i][j+1]==true&&farm[s[i][j+1]-'A'][0]==1)
     bl(i,j+1);
     if(farm[s[i][j]-'A'][3]==1&&i-1>=0&&p[i-1][j]==true&&farm[s[i-1][j]-'A'][1]==1)
     bl(i-1,j);
}
int main()
{
    int i,j,sum;
    while(cin>>m>>n)
    {
      if(m==-1&&n==-1)break;
      for(i=0;i<m;i++)
       cin>>s[i];
       sum=0;
       for(i=0;i<m;i++)
       for(j=0;j<n;j++)
       p[i][j]=true;
       for(i=0;i<m;i++)
       for(j=0;j<n;j++)
       if(p[i][j]==true){sum++;bl(i,j);}
       cout<<sum<<endl;
    }
    return 0;
}
       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -