作业07 递推算法2

news2024/10/5 17:27:28

作业:

#include <iostream>
using namespace std;
int main(){
	int a[110][110]={0},b[110][110]={0},n;
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			cin>>a[i][j];
		}
	}
	for(int i=n-1;i>=1;i--){
		for(int j=1;j<=i;j++){
			a[i][j]=a[i][j]+max(a[i+1][j],a[i+1][j+1]);
		}
	}
	cout<<a[1][1];
	
	return 0;
}

#include <iostream>
using namespace std;
int main(){
	int a[110][110]={0},b[110][110]={0},m,n;
	cin>>m>>n;
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			a[i][j]=a[i][j]+max(a[i-1][j],a[i][j-1]);
		}
	}
	cout<<a[m][n];
	
	
	
	
	
	return 0;
}

#include <iostream>
using namespace std;
int main(){
	int a[30][30]={0},m,n,x,y;
	cin>>x>>y>>m>>n;
	int dx[9][2]={{m,n},{m+1,n+2},{m+1,n-2},{m-1,n+2},{m-1,n-2},{m-2,n+1},{m-2,n-1},{m+2,n+1},{m-+2,n-1}};
	int t=1;
	for(int i=0;i<=8;i++)a[dx[i][0]][dx[i][1]]=-1;
	for(int i=0;i<=y;i++){
		if(a[0][i]==-1)t=-1;
		else a[0][i]=t;
	}
	t=1;
	for(int i=0;i<=x;i++){
		if(a[i][0]==-1)t=-1;
		else a[i][0]=t;
	}
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			if(a[i][j]!=-1)a[i][j]=(a[i-1][j]==-1?0:a[i-1][j])+(a[i][j-1]==-1?0:a[i][j-1]);
		}
	}
	cout<<a[x][y];
	return 0;
}

#include <iostream>
using namespace std;
int main(){
	int a[110][110]={0},b[110][110]={0},n;
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			cin>>a[i][j];
		}
	}
	for(int i=n-1;i>=1;i--){
		for(int j=1;j<=i;j++){
			a[i][j]=a[i][j]+max(a[i+1][j],a[i+1][j+1]);
			b[i+1][j]=(a[i+1][j]>a[i+1][j+1]?j:j+1);
		}
	}
	b[1][1]=1;
	for(int i=n;i>1;i--){
		cout<<i<<','<<b[i][1]<<"->";
	}
	cout<<1<<','<<b[1][1]<<endl;
	cout<<a[1][1];
	return 0;
}

#include <iostream>
using namespace std;
int main(){
	int a[110][110]={0},b[110][110]={0},c[110][110]={0},m,n;
	int ns[100][2]={0},l=0;
	int dx[2][2]={{-1,0},{0,-1}};
	cin>>m>>n;
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
			c[i][j]=a[i][j];
		}
	}
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			c[i][j]=c[i][j]+max(c[i-1][j],c[i][j-1]);
			b[i][j]=(c[i-1][j]>c[i][j-1]?0:1);//0up 1left
		}
	}
	int x=m,y=n;
	while(x>=1&&y>=1){
		ns[l][0]=x;
		ns[l][1]=y;
		l++;
		x+=dx[b[x][y]][0];
		y+=dx[b[x][y]][1];
		
	}
	cout<<a[1][1];
	for(int i=l-1;i>=0;i--){
		cout<<'-'<<a[ns[i][0]][ns[i][1]];
	}
	return 0;
}

#include <iostream>
using namespace std;
int main(){
	char a[2][110][110];
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>a[1][i][j];
		}
	}
	int m;
	cin>>m;
	for(int i=1;i<=m;i++){
		bool t=i%2;//原
		bool tf=!t;//新
		for(int x=1;x<=n;x++){
			for(int y=1;y<=n;y++){
				a[tf][x][y]=a[t][x][y];
			}
		}
		for(int x=1;x<=n;x++){
			for(int y=1;y<=n;y++){
				if(a[t][x][y]=='@'){
					a[tf][x][y]='@';
					a[tf][x+1][y]=(a[t][x+1][y]=='.'?'!':a[t][x+1][y]);
					a[tf][x-1][y]=(a[t][x-1][y]=='.'?'!':a[t][x-1][y]);
					a[tf][x][y+1]=(a[t][x][y+1]=='.'?'!':a[t][x][y+1]);
					a[tf][x][y-1]=(a[t][x][y-1]=='.'?'!':a[t][x][y-1]);
				}
			}
		}
		for(int x=1;x<=n;x++){
			for(int y=1;y<=n;y++){
				if(a[tf][x][y]=='!'){
					a[tf][x][y]='@';
				}
			}
		}
		
	}
	int cnt=0;
	for(int x=1;x<=n;x++){
		for(int y=1;y<=n;y++){
			if(a[m%2][x][y]=='@')cnt++;
		}
	}
	cout<<cnt;
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1810010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

离散数学--连通性和矩阵

目录 0.关系的运算和性质 1.通路和回路 2.连通关系 3.割点&#xff08;边&#xff09;和点&#xff08;边&#xff09;割集 4.强&#xff08;弱&#xff09;连通&单向连通 0.关系的运算和性质 &#xff08;1&#xff09;这个运算包括了矩阵的运算&#xff0c;包括这个…

汽车数据应用构想(三)

上期说的&#xff0c;用数据去拟合停车信息的应用&#xff0c;那么类似的POI信息相关的场景其实都可以实现。今天讲讲用户使用频率也很高的加油/充电场景。 实际应用中&#xff0c;在加油场景中用户关心的通常还是价格。无论是导航还是各种加油APP/小程序&#xff0c;都已经很…

了解常用智能指针

智能指针 1、概念 C中引入智能指针的主要目的是为了解决内存管理的问题&#xff0c;传统的指针&#xff08;裸指针&#xff09;在使用时需要手动分配和释放内存&#xff0c;容易出现内存泄漏和悬挂指针等问题。智能指针通过封装裸指针&#xff0c;并提供自动内存管理功能&…

端午安康,最真挚的祝福送最“粽”要的人

端午节&#xff0c;又称端阳节、龙舟节、重五节、天中节等&#xff0c;是集拜神祭祖、祈福辟邪、欢庆娱乐及饮食为一体的民俗大节&#xff0c;与春节、清明节、中秋节并称为中国四大传统节日&#xff0c;2008年被列为国家法定节假日&#xff0c;2009年9月端午节成为中国首个入选…

笔记 | 软件工程04:软件项目管理

1 软件项目及其特点 1.1 什么是项目 1.2 项目特点 1.3 影响项目成功的因素 1.4 什么是软件项目 针对软件这一特定产品和服务的项目努力开展“软件开发活动",&#xff08;理解&#xff1a;软件项目是一种活动&#xff09; 1.5 软件项目的特点 1.6 军用软件项目的特点 2 …

有点好玩的python运维脚本

python运维脚本 1. 常用端口扫描2. 文件整理 1. 常用端口扫描 在计算机网络中&#xff0c;端口是一个通信端点&#xff0c;允许不同的进程或服务通过网络连接和交换数据。端口通过数值来标识&#xff0c;并与特定的协议相关联。未采取适当安全措施而保持端口开放&#xff0c;可…

ICRA 2024:北京工业大学马楠教授联合中科原动力公司推出番茄采摘自主机器人AHPPEBot,实现32.46秒快速准确采摘

当前&#xff0c;农业生产正深受劳动力短缺困扰&#xff0c;这一现状对生产规模的进一步拓展构成了严重制约。为了突破这一瓶颈&#xff0c;实施自动化已成为提升农业生产力的关键途径&#xff0c;这也使得机器人采收技术备受关注。 现今的机器人采收系统普遍采用先进感知方法&…

linux 网桥学习

前言&#xff1a; 本文来学习一下linux网桥概念和网桥配置 1. linux网桥概念 网桥&#xff0c;类似于中继器&#xff0c;连接局域网中两个或者多个网段。它与中继器的不同之处就在于它能够解析它收发的数据&#xff0c;读取目标地址信息&#xff08;MAC&#xff09;&#xff…

技术玩家实现在不支持的CPU上运行 Windows 10 22H2

最近&#xff0c;AMD 悄然确认&#xff0c;其新款 Ryzen AI 300 系列 APU 将不再为 Windows 10 制作芯片组驱动程序&#xff0c;因为它将终止对Windows 10操作系统的支持&#xff0c;尽管它完全有能力这样做。这意味着想要获得官方驱动程序支持的用户必须在其上运行 Windows 11…

darts 时序预测入门

darts是一个强大而易用的Python时间序列建模工具包。在github上目前拥有超过7k颗stars。 它主要支持以下任务: 时间序列预测 (包含 ARIMA, LightGBM模型, TCN, N-BEATS, TFT, DLinear, TiDE等等) 时序异常检测 (包括 分位数检测 等等) 时间序列滤波 (包括 卡尔曼滤波&#xff0…

【Rd-03E】使用CH340给Rd03_E雷达模块烧录固件

Rd03_E 指导手册 安信可新品雷达模组Rd-03搭配STM32制作简易人体感应雷达灯教程 http://t.csdnimg.cn/mqhkE 测距指导手册网址&#xff1a; https://docs.ai-thinker.com/_media/rd-03e%E7%B2%BE%E5%87%86%E6%B5%8B%E8%B7%9D%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C%E4%B8%AD%…

【Android面试八股文】一图展示 Android生命周期:从Activity到Fragment,以及完整的Android Fragment生命周期

图片来源于&#xff1a;https://github.com/xxv/android-lifecycle Android生命周期&#xff1a;从Activity到Fragment 图&#xff1a;android-lifecycle-activity-to-fragments.png 完整的Android Fragment生命周期 图&#xff1a;complete_android_fragment_lifecycle.png…

cve_2022_0543-redis沙盒漏洞复现 vulfocus

1. 原理 该漏洞的存在是因为Debian/Ubuntu中的Lua库是作为动态库提供的。自动填充了一个package变量&#xff0c;该变量又允许访问任意 Lua 功能。 2.复现 我们可以尝试payload&#xff1a; eval local io_l package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so…

AWT常用组件

AWT中常用组件 前言一、基本组件组件名标签(Label类)Label类的构造方法注意要点 按钮(Button)Button的构造方法注意要点 文本框(TextField)TextField类的构造方法注意要点 文本域&#xff08;TextArea&#xff09;TextArea 的构造方法参数scrollbars的静态常量值 复选框&#x…

文心一言 VS 讯飞星火 VS chatgpt (278)-- 算法导论20.3 5题

五、假设我们创建一个包含 u 1 k u^\frac{1}{k} uk1​ 个簇(而不是全域大小为 x ↓ {\sqrt[↓]{x}} ↓x ​ 的 x ↑ {\sqrt[↑]{x}} ↑x ​ 个簇)的 vEB 树&#xff0c;其每个簇的全域大小为 u 1 − 1 k u ^ {1-\frac{1}{k}} u1−k1​ &#xff0c;其中 k>1 &#xff0c…

【UML用户指南】-13-对高级结构建模-包

目录 1、名称 2、元素 3、可见性 4、引入与引出 用包把建模元素安排成可作为一个组来处理的较大组块。可以控制这些元素的可见性&#xff0c;使一些元素在包外是可见的&#xff0c;而另一些元素要隐藏在包内。也可以用包表示系统体系结构的不同视图。 狗窝并不复杂&#x…

数据库管理-第200期 身边的数据库从业者(20240610)

数据库管理200期 2024-06-10 数据库管理-第200期 身边的数据库从业者&#xff08;20240610&#xff09;首席-薛晓刚院长-施嘉伟邦德-王丁丁强哥-徐小强会长-吴洋灿神-熊灿灿所长-严少安探长-张震总结活动预告 数据库管理-第200期 身边的数据库从业者&#xff08;20240610&#…

匈牙利匹配算法

一 什么是匈牙利匹配算法 匈牙利算法是一种解决二分图最大匹配问题的算法。在二分图中&#xff0c;将左边的点称为X集合&#xff0c;将右边的点称为Y集合&#xff0c;我们需要在X集合和Y集合之间建立一个双向边集合&#xff0c;使得所有的边都不相交。如果我们能够找到一个最大…

前端工程化工具系列(十)—— Browserslist:浏览器兼容性配置工具

Browserslist 是一个能够在不同的前端工具间共享目标浏览器的配置&#xff0c;各工具根据该配置进行代码转译等操作。 具体的这些前端工具为&#xff1a;Autoprefixer、Babel、postcss-preset-env、eslint-plugin-compat、stylelint-no-unsupported-browser-features、postcss-…

文件的基础必备知识(初学者入门)

1. 为什么使用文件 2. 什么是文件 3. 二进制文件和文本文件 4. 文件的打开和关闭 1.为什么使用文件 我们写的程序数据是存储在电脑内存中&#xff0c;如果程序退出&#xff0c;内存回收&#xff0c;数据就丢失&#xff0c;等程序再次运行时&#xff0c;上次的数据已经消失。面…