ZOJ 2412 Farm Irrigation
来源:互联网 发布:中国电信云计算干嘛的 编辑:程序博客网 时间:2024/05/29 19:14
题意:
将大写字母A~K转化为相应的图形 ,然后输出M行N列的大写字母,通过图形转换变成一个大图形,从图形中找出相通道路的个数。。
思路:
将大写字母转化成矩阵,1代表可通行,0代表不可通行。然后DFS。
如
A 转化成
0 1 0
1 1 0
0 0 0
B 转化成
0 1 0
0 1 1
0 0 0
然后我们通过整数将矩形的信息储存起来。
如A:010110000 整数:1011000
B:010011000 整数:10011000
代码:
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int dr[][2]={{-1,0},{1,0},{0,-1},{0,1}}; //上下左右//用map数组将矩阵信息存储起来int map[11]= {10110000,10011000,110010,11010,10010010,111000,10111000,10110010,111010,10011010,10111010 };int n,m;//分别为矩阵数组和字母数组int str[300][300];char ans[100][100];void dfs(int x,int y) { if(x<=0||y<=0||y>m*3||x>n*3||str[x][y]==0) //越界或者被无法通行或者被访问过的return;str[x][y]=0; //标记被访问过的 for(int i=0;i<4;i++) // DFS各方向 dfs(x+dr[i][0],y+dr[i][1]);}int main(){freopen("read.txt","r",stdin); while(scanf("%d %d",&n,&m)!=EOF){if(n==-1&&m==-1) return 0;getchar();for(int i=1;i<=n;i++)scanf("%s",ans[i]); //转化成矩阵 将可通行的路转化为1 //如 A 转化成// 0 1 0// 1 1 0// 0 0 0 memset(str,0,sizeof(str)); for(int i=1;i<=n;i++){ for(int j=0;j<m;j++) { int a=ans[i][j]-'A'; int b=100000000; //利用求余求模将“整数”信息存储到矩阵数组中 for(int k=1;k<=3;k++) for(int h=1;h<=3;h++) { str[(i-1)*3+k][j*3+h]=(map[a]/b)%10;b/=10; } } }//搜索int sum=0; for(int i=1;i<=n*3;i++)for(int j=1;j<=m*3;j++) { if(str[i][j]==1) // 找到未访问的 { sum++; dfs(i,j); } } printf("%d\n",sum); } return 0;}
0 0
- ZOJ 2412 Farm Irrigation
- zoj 2412 Farm Irrigation
- ZOJ 2412 Farm Irrigation
- ZOJ 2412 Farm Irrigation
- zoj - 2412 - Farm Irrigation
- ZOJ 2412(Farm Irrigation)
- 2412 ZOJ Farm Irrigation
- ZOJ 2412 Farm Irrigation
- zoj 2412 Farm Irrigation
- ZOJ:2412 Farm Irrigation
- ZOJ 2412 Farm Irrigation
- ZOJ 2412 Farm Irrigation
- zoj 2412 Farm Irrigation
- ZOJ - 2412 Farm Irrigation
- zoj 2412 Farm Irrigation
- ZOJ 2412 Farm Irrigation
- ZOJ 2412 Farm Irrigation
- ZOJ 2412 Farm Irrigation
- cocos2dx常见的46中+22中动作详解
- COURSERA Machine Learning WEEK1&&WEEK2
- Sudoku 数独 (Dancing links)
- FPGA研发(3) FPGA和他那些小伙伴们 (二) 器件互联。
- Unicode、GB2312、GBK和GB18030中的汉字
- ZOJ 2412 Farm Irrigation
- POJ 2057 The Lost House
- 程序更改代理ip(成佩涛黑客)
- MIT牛人解说数学体系
- ghost 安装在bae
- Linux正则表达式的初探
- scanf与printf的返回值。
- 安装Apache的时候80端口被PID为4的系统进程所占用
- 关于 tar 命令