当前位置: 首页 > news >正文

一站式营销型网站建设服务如何自己做公司网页

一站式营销型网站建设服务,如何自己做公司网页,网站开发php未来发展,离职模板网输入一个n*n的黑白图像#xff08;1表示黑色#xff0c;0表示白色#xff09;#xff0c;任务是统计其中八连块的个数。如果两个黑格子有公共边或者公共顶点#xff0c;就说它们属于同一个八连块。如图6-11所示的图形有3个八连块。 图6-11 拥有3个八连块的黑白图形 【分析…输入一个n*n的黑白图像1表示黑色0表示白色任务是统计其中八连块的个数。如果两个黑格子有公共边或者公共顶点就说它们属于同一个八连块。如图6-11所示的图形有3个八连块。                                                                         图6-11  拥有3个八连块的黑白图形 【分析】 用递归求解从每个黑格子出发递归访问它所有的相邻黑格。 int mat[MAXN][MAXN], vis[MAXN][MAXN]; void dfs(int x, int y) {if(!mat[x][y] || vis[x][y]) return; // 曾经访问过这个格子或者当前格子是白色vis[x][y] 1; // 标记(x,y)已访问过dfs(x-1,y-1); dfs(x-1,y); dfs(x-1,y1);dfs(x-1,y); dfs(x,y1);dfs(x1,y-1); dfs(x1,y); dfs(x1,y1); // 递归访问周围的八个格子 } 这里黑格(x,y)的mat[x][y]为1白格为0。为了避免同一个格子访问多次用标志vis[x][y]记录格子(x,y)是否访问过。在输入之前在迷宫的外面加上一圈虚拟的白格子见下面的程序。 memset(mat, 0, sizeof(mat)); //所有格子都初始化为白色,包括周围一圈的虚拟格子 memset(vis, 0, sizeof(vis)); // 所有格子都没有访问过 scanf(%d, n); for(int i 0; i n; i) {scanf(%s, s);for(int j 0; j n; j)mat[i1][j1] s[j]-0; // 把图像往中间移动一点空出一圈白格子 }接下来只需不断找黑格然后调用dfs。从它出发寻找八连块 int count 0; for(int i 1; i n; i)for(int j 1; j n; j)if(!vis[i][j] mat[i][j]) { count; dfs(i,j); } //找到没有访问过的黑格 printf(%d\n, count);完整的程序如下 #include stdio.h #include string.h const int MAXN 1000; int n;int mat[MAXN][MAXN], vis[MAXN][MAXN]; void dfs(int x, int y) {if(!mat[x][y] || vis[x][y]) return; //曾经访问过这个格子或者当前 格子是白色 vis[x][y] 1; // 标记(x,y)已访问过dfs(x-1,y-1); dfs(x-1,y); dfs(x-1,y1);dfs(x-1,y); dfs(x,y1);dfs(x1,y-1); dfs(x1,y); dfs(x1,y1); // 递归访问周围的八个格子 }int main() {char s[MAXN 10];memset(mat, 0, sizeof(mat)); // 所有格子都初始化为白色包括周围 一圈的虚拟格子memset(vis, 0, sizeof(vis)); // 所有格子都没有访问过scanf(%d, n);for(int i 0; i n; i) {scanf(%s, s);for(int j 0; j n; j)mat[i1][j1] s[j]-0; // 把图像往中间移动一点空出一圈白格子}int count 0;for(int i 1; i n; i)for(int j 1; j n; j)// 找到没有访问过的黑格if(!vis[i][j] mat[i][j]) { count; dfs(i,j); } printf(%d\n, count);return 0; }上面的函数dfs就是深度优先遍历Depth-FirstSearchDFS的算法DFS和BFS一样都是从一个结点出发按照某种特定的次序访问图中的其他特点。不同的是BFS使用队列来存放待扩展结点而DFS使用的是栈。   附我自己理解后敲的代码 #include stdio.h #include string.h #includealgorithm #includeiostream #define M 1020 using namespace std; int n; int i,j; char map[M][M]; void dfs(int x,int y) {if(map[x][y]!1||x0||y0||xn||yn)return; //曾经访问过这个格子或者当前格子是白色else{map[x][y] 0; // 标记(x,y)已访问过dfs(x-1,y-1);dfs(x-1,y1);dfs(x-1,y);dfs(x,y1);dfs(x,y-1);dfs(x1,y-1);dfs(x1,y);dfs(x1,y1); // 递归访问周围的八个格子} }int main() {memset(map, 0, sizeof(map)); // 所有格子都没有访问过scanf(%d, n);for(i0; in; i)for(j0; jn; j)cinmap[i][j];int count 0;for(i 0; i n; i)for(j 0; j n; j){// 找到没有访问过的黑格if(map[i][j]1){dfs(i,j);count;}}printf(%d\n, count);return 0; } /* 6 100100 001010 000000 110000 111000 010100 */转载于:https://www.cnblogs.com/dyllove98/p/3226233.html
http://wiki.neutronadmin.com/news/155681/

相关文章:

  • 华资源网站建设贵州网站建设吧
  • wordpress优惠券win11优化大师
  • 做程序教程网站赚钱吗唐山市城乡建设网站
  • 免费观看厦门seo管理
  • 企业网站建设策划书1万字静态网站生成
  • php美食网站开发的意义公司做网站域名的好处
  • 大数据对网站建设教育的影响门户网站是如何盈利的
  • 建设学校网站的原因个人备案的域名拿来做别的网站
  • 做网站一般用什么字体长春做网站优化价格
  • 莱州网站建设教程动态ip怎么建设网站
  • 北京网站建设管庄怎么看网站有没有做百度推广
  • 德州建设街小学网站全国工商企业查询官网
  • 编制综合网站平台的公司排名常州做企业网站的公司
  • 深圳外贸电商网站建设linux建立网站
  • 如何创建一个属于自己的网站做卡盟网站赚钱吗
  • 怎么添加网站权重建网站
  • 做网贷网站多少钱做网站的工具
  • 天津企业网站建站小店网站怎么做
  • 做网站程序怎么写新上线的网站怎么做优化
  • 淄博专业网站建设价格一般通过头发就能察觉到
  • 郫县网站建设什么是响应式网站
  • 做门户类网站多少钱怎么推广自己的公司
  • 杭州做网站企业域名注册网站查询工具
  • 自助建站的优势政务网站网上调查怎么做
  • 怎么做自己的公司网站wordpress func
  • 网站无法链接centos wordpress 优化
  • c 做交易网站石家庄哪里有网站建设
  • 网站代备案网页美工设计课程
  • 给个网站能用的2022国内域名注册商
  • 营销型网站具备的二大能力wordpress 自动保存远程图片