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

网站制作三级页面打造龙头建设示范

网站制作三级页面,打造龙头建设示范,网页制作基础教程插入图片,amazon亚马逊欧洲站题目链接:https://www.lanqiao.cn/problems/3508/learning/ 个人评价:难度 3 星(满星:5) 前置知识:深度优先搜索 整体思路 深搜,在搜索过程中进行剪枝,剪枝有以下限制条件&#xf…

题目链接:https://www.lanqiao.cn/problems/3508/learning/

个人评价:难度 3 星(满星:5)
前置知识:深度优先搜索


整体思路

深搜,在搜索过程中进行剪枝,剪枝有以下限制条件:

  1. 所有已填入的 1 对周围 9 个方格数字的影响,不能超过原来棋盘上的数字;
  2. 当确定了 ( x , y ) (x, y) (x,y) 位置的像素颜色时, ( x − 1 , y − 1 ) (x-1, y-1) (x1,y1) 位置的数字也确定下来了,这个由填入像素颜色确定的数字必须与棋盘上的数字相同,由此可以确定所有 x ∈ [ 1 , n ) , y ∈ [ 1 , m ) x \in [1, n),~y \in [1, m) x[1,n), y[1,m) 位置的数字;
  3. 当确定了第 m m m 列方格的像素颜色时,第 x − 1 x - 1 x1 行的数字也随之确定,这个数字也必须与棋盘上的数字相同,由此可以确定所有 x ∈ [ 1 , n ) , y = m x \in [1,n),~y = m x[1,n), y=m 位置的数字;
  4. 当确定了第 n n n 行方格的像素颜色时,第 y − 1 y - 1 y1 列的数字也随之确定,同上可确定所有 x = n , y ∈ [ 1 , m ) x = n, ~ y \in [1, m) x=n, y[1,m) 位置的数字;
  5. 最后一个位置 ( n , m ) (n, m) (n,m) 的像素颜色确定时,最后一个数字也随之确定,这个数字也必须与棋盘上的数字相同。

过题代码

#include <bits/stdc++.h>
using namespace std;typedef long long LL;
const int maxn = 100;
int n, m, nm;
bool flag;
int num[maxn][maxn], sum[maxn][maxn];
char str[maxn][maxn], ans[maxn][maxn];
const int dir[9][2] = {{-1, -1}, {-1, 0}, {-1, 1},{0, -1}, {0, 0}, {0, 1},{1, -1}, {1, 0}, {1, 1}
};bool in(int x, int y) {return x >= 0 && x < n && y >= 0 && y < m;
}bool check(int x, int y, int d) {for (int i = 0; i < 9; ++i) {int xx = x + dir[i][0];int yy = y + dir[i][1];if (in(xx, yy) && sum[xx][yy] + d > num[xx][yy]) {return false;}}if (in(x - 1, y - 1) && num[x - 1][y - 1] != 10 && sum[x - 1][y - 1] + d != num[x - 1][y - 1]) {return false;}if (y == m - 1 && in(x - 1, y) && num[x - 1][y] != 10 && sum[x - 1][y] + d != num[x - 1][y]) {return false;}if (x == n - 1 && in(x, y - 1) && num[x][y - 1] != 10 && sum[x][y - 1] + d != num[x][y - 1]) {return false;}if (x == n - 1 && y == m - 1 && num[x][y] != 10 && sum[x][y] + d != num[x][y]) {return false;}return true;
}void add(int x, int y, int d) {for (int i = 0; i < 9; ++i) {int xx = x + dir[i][0];int yy = y + dir[i][1];if (in(xx, yy)) {sum[xx][yy] += d;}}
}void dfs(int depth) {if (depth == nm) {flag = true;for (int i = 0; i < n; ++i) {cout << ans[i] << endl;}return ;}int x = depth / m;int y = depth % m;if (check(x, y, 1)) {add(x, y, 1);ans[x][y] = '1';dfs(depth + 1);if (flag) {return ;}add(x, y, -1);ans[x][y] = '0';}if (check(x, y, 0)) {dfs(depth + 1);}
}int main() {
#ifdef ExRocfreopen("test.txt", "r", stdin);
#endif // ExRocios::sync_with_stdio(false);cin >> n >> m;nm = n * m;for (int i = 0; i < n; ++i) {cin >> str[i];for (int j = 0; j < m; ++j) {if (str[i][j] == '_') {num[i][j] = 10;} else {num[i][j] = str[i][j] - '0';}ans[i][j] = '0';}}dfs(0);return 0;
}
http://www.hengruixuexiao.com/news/34095.html

相关文章:

  • 建筑工程资料网站营销型网站外包
  • wordpress复古三栏主题推广关键词优化公司
  • 计算机网站开发毕业论文题目最近七天的新闻重点
  • 西宁做网站网站建设公司简介
  • 产品营销型网站建设建设公司网站大概需要多少钱?
  • 网站建设任务百度引擎入口官网
  • 刚刚封城最新消息2021北京网络优化推广公司
  • 网站添加qq聊天绍兴seo排名外包
  • 吉林沈阳网站建设品牌seo培训咨询
  • 东莞做创意网站百度爱采购官方网站
  • 自媒体平台前十名长沙靠谱seo优化
  • 济南专业网站优化百度站长联盟
  • 平阳县住房和城乡规划建设局网站网络推广怎么做方案
  • 网站建设费用报价单重庆seo教程
  • 网站添加属性泉州搜索推广
  • 微盟登录家庭优化大师
  • 淘宝客网站用什么软件做百度怎么推广自己的视频
  • 企业做个网站多少钱淮安百度推广公司
  • 苏州做学校网站的黄页88网推广服务
  • 广州做网站那家好搜索引擎营销的方法不包括
  • 机械网站建设方案一台电脑赚钱的门路
  • 个人网站注册流程北京百度关键词排名
  • wordpress写文章教程苏州seo网站推广哪家好
  • 软件开发工资一般多少钱一个月吉林seo外包
  • 自己可做以做网站吗福州百度快照优化
  • 河北网站制作公司电话b2b平台推广
  • 旅游网站开发现状网站关键词优化怎么弄
  • 可以自己做网站卖东西注册网站平台要多少钱
  • 海淀区手机网站设计服务6网络推广公司官网
  • 企业网站前端模板优秀的网页设计案例