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

如何建设学校的微网站首页wordpress影视主题52破解

如何建设学校的微网站首页,wordpress影视主题52破解,个人网站的域名注册,做酸菜视频网站第一题:全球变暖 题目描述 你有一张某海域 NxN 像素的照片#xff0c;.表示海洋、#表示陆地#xff0c;如下所示#xff1a; ....... .##.... .##.... ....##. ..####. ...###. ....... 其中上下左右四个方向上连在一起的一片陆地组成一…第一题:全球变暖 题目描述 你有一张某海域 NxN 像素的照片.表示海洋、#表示陆地如下所示 ....... .##.... .##.... ....##. ..####. ...###. ....... 其中上下左右四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。 由于全球变暖导致了海面上升科学家预测未来几十年岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋)它就会被淹没。 例如上图中的海域未来会变成如下样子 ....... ....... ....... ....... ....#.. ....... ....... 请你计算依照科学家的预测照片中有多少岛屿会被完全淹没。 输入描述 第一行包含一个整数 N (1≤N≤1000)。 以下 N 行 N 列代表一张海域照片。 照片保证第 1 行、第 1 列的像素都是海洋。、 输出一个整数表示答案。 输入输出样例 示例 输入 7 ....... .##.... .##.... ....##. ..####. ...###. .......输出 1 dfs岛屿问题 一个岛屿不会被淹没要有一块大陆上下左右都不和海洋相邻 flag表示一个岛屿中有一块大陆是这样的就不需要再遍历了 其余情况继续遍历并且把对应变成海洋这里用*来代替就不用开状态数组了 #includeiostream #includequeue using namespace std;const int N 1010; char g[N][N]; int n, cnt, olds, news; int dx[] {1, -1, 0, 0}, dy[] {0, 0, 1, -1}; bool flag;void dfs(int u, int v){if(!flag) {cnt 0;for(int i 0; i 4; i){int x dx[i] u, y dy[i] v;if(g[x][y] ! .) cnt;}if(cnt 4) {news;flag true;}}g[u][v] *;for(int i 0; i 4; i){int x dx[i] u, y dy[i] v;if(x 1 x n y 1 y n g[x][y] #)dfs(x, y);}}int main(){cinn;for(int i 1; i n; i)for(int j 1; j n; j)cing[i][j];for(int i 1; i n; i)for(int j 1; j n; j)if(g[i][j] #){olds;flag false;dfs(i ,j);}coutolds-newsendl;return 0; } 新的方法叫什么弗拉基米得算法通过这可以遍历到每个连通块中的各个陆地 首先遍历如果当前没有被遍历而且为陆地比较边界数量和总数量得值如果相等即要被淹没所以就要加进去 然后是一个BFS,使用stl队列实现如果该陆地相邻有海洋那么他就是边界 是陆地而且没有遍历过的话就放进队列再找 #includeiostream #includequeue using namespace std;const int N 1010; char g[N][N]; bool st[N][N]; int n; int dx[] {1, -1, 0, 0}, dy[] {0, 0, 1, -1};void dfs(int ax,int ay, int total, int bound){queuepairint, int q;q.push({ax, ay});st[ax][ay] true;while(q.size()){auto t q.front();q.pop();total;bool is_bound false;for(int i 0; i 4; i){int x t.first dx[i], y t.second dy[i];if(x 1 || x n y 1 || y n ) continue;if(st[x][y]) continue;if(g[x][y] .){is_bound true;continue;}q.push({x, y});st[x][y] true;}if(is_bound) bound;}}int main(){cinn;for(int i 1; i n; i)for(int j 1; j n; j)cing[i][j];int cnt 0;for(int i 1; i n; i)for(int j 1; j n; j)if(!st[i][j] g[i][j] #){int total 0, bound 0;dfs(i ,j ,total, bound);if(total bound)cnt;}coutcntendl; return 0; } 第四题搬砖 问题描述 这天小明在搬砖。 他一共有 n 块砖, 他发现第 i 砖的重量为 wi​, 价值为 vi​ 。他突然想从这些 砖中选一些出来从下到上堆成一座塔, 并且对于塔中的每一块砖来说, 它上面 所有砖的重量和不能超过它自身的价值。 他想知道这样堆成的塔的总价值即塔中所有砖块的价值和最大是多少。 输入格式 输入共 n1 行, 第一行为一个正整数 n, 表示砖块的数量。 后面 n 行, 每行两个正整数 wi​,vi​ 分别表示每块砖的重量和价值。 输出格式 一行, 一个整数表示答案。 样例说明 选择第 1、2、4块砖, 从上到下按照 2、1、4 的顺序堆成一座塔, 总价值 为 41510 评测用例规模与约定 对于 20% 的数据, 保证 0n≤10; 对于 100% 的数据, 保证 n≤1000;wi​≤20;vi​≤20000 。 样例输入 5 4 4 1 1 5 2 5 5 4 3样例输出 10明确排序指标很关键这是数学要推导和多做题 然后剩下就是01背包问题了直接套模板 j 2000 因为题目范围 #includeiostream #includealgorithm using namespace std;typedef pairint, int PII; const int N 1010; PII a[N]; int n, f[20004];bool cmp(PII x, PII y){return x.first x.second y.first y.second; }int main(){cinn;for(int i 0; i n ; i){int w, v;cinwv;a[i] {w, v};}sort(a, a n, cmp);for(int i 0; i n; i){int w a[i].first, v a[i].second;for(int j 20000; j w; j--)if(v j - w) f[j] max(f[j], f[j - w] v);}int maxv 0;for(int i 0; i 20000; i) maxv max(maxv, f[i]);coutmaxvendl;return 0; }
http://www.hkea.cn/news/14537186/

相关文章:

  • 新八建设集团有限公司网站北京建设网站哪家好
  • 网站首页页面设计文章wordpress
  • 石家庄做网站汉狮网络哈尔滨快速建站点击查看
  • 快站心动小程序官网汕头seo排名收费
  • 微信长图的免费模板网站微官网免费制作平台
  • 福永网站建设公司哪家好网络营销策划的主要特点
  • 个人网站建设素材深圳seo网站优化公司
  • 建网站用html基于php mysql的网站开发
  • 银行网站建设中网站等比例缩放设计
  • 做素材类的网站赚钱吗网站托管就业
  • 北京海淀网站建设公司wordpress 挣钱
  • 建设网站需要的工具公司网站建设图片素材怎么找
  • 公司网站制作商做外围网站犯法吗
  • 泰州网站建设优化如何做响应式网站视频教程
  • 网站建设公司业务员安徽网站建设公司
  • 大良营销网站建设效果免费行情的软件大全下载
  • 网站访客qq获取系统 报价文明网站建设培训体会
  • 十大免费建站appwordpress页面显示什么意思
  • 网站友情链接宣城老品牌网站建设
  • 做商城网站买多大的空间谷歌推广seo
  • 无锡营销型网站建站phpcms 外贸网站模板
  • 网站建设项目分期找人做一个网站要多少钱
  • 建立个人网站主题东方商易网站开发
  • wordpress 仿站教程wordpress登录跳转
  • 域名 备案号 网站的关系做植物网站
  • 深圳龙岗住房和建设局网站官网上海工商网一窗通
  • 企业网站设计要点计算机网络培训速成班
  • 凡科网建站教程中华建设杂志网站
  • 网络营销工作之企业官方网站建设篇android编程开发
  • 外贸购物网站建站教育网站制作论文