Acwing-3208. Z字形扫描

2024-03-30 15:52
文章标签 扫描 acwing 字形 3208

本文主要是介绍Acwing-3208. Z字形扫描,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

输入样例:
4
1 5 3 9
3 7 5 6
9 4 6 4
7 3 1 3

 代码:

#include <iostream>
#include <vector>
using namespace std;
int dxy[][2] = { {0,1},{1,-1},{1,0},{ -1,1 } };	//偏移量数组
int main()
{int n;cin >> n;vector<vector<int>>map(n + 1, vector<int>(n + 1));for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)cin >> map[i][j];int count = 0;		//记数int t = 0;		//用于偏移量数组int x = 1, y = 1;cout << map[x][y] << " "; //先将第一个位置的数字输出count++;		//计数+1while (count < n * n)	//当 计数等于n*n时结束循环{int xx = x + dxy[t][0];		//把坐标更新int yy = y + dxy[t][1];	if (xx >= 1 && xx <= n && yy >= 1 && yy <= n&&map[xx][yy])	//先判断坐标合不合法,再判断该位置有没有走过{x = xx; y = yy;			//将更新后的坐标赋值给x,方便在x基础上更新坐标cout << map[x][y] << " ";		//输出该坐标的数map[x][y] = 0;		//将该坐标标记为0,意味着走过count++;if (t == 0 || t == 2)	//当前向右(t=0)以及向下(t=2)时意味着接下来该左下或右上t++;}else {		//当越界或该位置已经走过时,改变朝向t = (t + 1) % 4;	}}return 0;
}

这里为什么一定要将走过的标记为0以及判断有没有走过?

3坐标是7,如果你不加判断有没有走过,则会从7往右上走,也就是从7->4,而不是从7->3了。你本就是从4->7,紧接着应该从7->3,如果不加判断,则变成4->7,7->4了,也就是又回去走重复了。

这篇关于Acwing-3208. Z字形扫描的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/861917

相关文章

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

金蝶盘点机PDA,序列号SN管理扫描入库出库质量追溯溯源防串货

比如有5个红米手机,红米手机的代码是100001, 那么这5个红米手机的条码是:100001+001,100001+002,100001+003,100001+004,100001+005, 那么入库时,依次扫描这些条码,自动生成金蝶里的入库单。并记录序列号信息。这样能实现序列号追溯,以后通过序列号就能查询出来该序列号的产品是从哪里进货的什么时候进货的,什么时间销售给谁了。 第一步:商

仓库盘点好方法,使用安卓盘点机PDA扫描商品条码进行超市盘点

仓库管理我们为什么要盘点? 因为传统的进销存出入库都需要电脑一行行的人工手工录单,比如入库时,人眼识别这个商品是什么商品,然后电脑上选择该商品,录入数量。人眼识别要求入库人对商品非常熟悉,而且对于包装规格相近的很容易弄错,张冠李戴,A商品的录单时记录成为B商品了。所以人工手工录单效率低,误差大,是导致我们进销存管理软件中帐面库存存跟仓库门店实际库存不相符合的主要原因。电脑账存跟实际库存不符合,所

金蝶盘点机PDA进行工序汇报扫描,工时工资统计使用说明书

使用盘点机PDA扫描商品条码(序列号)进行工序汇报,自动生成电脑里的【工序汇报单】,自动计算工时,工资。这样就不用去电脑上人工手工一行行录单,大大提高工作效率和数据准确性。 操作时,只需要商品条码(序列号)即可实现快速,准确的工序汇报。从而防止电脑进行工序汇报耗时,费事,不准确的问题。 注意商品条码规则:产品代码+钢管长度+炉号+管号+合同号+序列号 下面我们看下【工序汇报单】的操作步骤

金蝶工序汇报扫描,通过扫描条码的方式进行工序汇报的方法

工序汇报单扫描 优势点:传统的工序汇报是纸质的,生产过程中填好,然后生产完再安排专人录入到金蝶系统里,整个过程比较费事,容易出错,而且有延时,数据不及时。录入数据的人非当事人,数据错误后容易出现扯皮的情况。 那么如果使用盘点机PDA扫描商品条码进行工序汇报,就能很好的解决这个问题了。谁操作,谁扫描,另外扫描后工序数据实时传输到后台,电脑上立即可以看到,管理层可以根据生产数据实时做出策略。从而

金蝶盘点机PDA仓库条码管理家电空调类序列号扫描出入库整体解决方案

采购入库单 传统的进销存管理软件需要人工识别商品品种,清点商品数量,然后再去人工手工在电脑上一行行的录入采购入库单。录单效率低,误差大。 如果使用汉码盘点机PDA,入库时,仓管员只需要手持PDA去入库现场,将需要入库的商品按照顺序扫描条码,即可自动生成采购入库单,从而提高工作效率和数据准确性。 盘点机PDA的采购入库单有以下功能: (1)支持采购订单作为源单下推采购入库单,实现商品品种

金蝶盘点机PDA 门店手持PDA扫描条码查询账面库存录入要货数量生成要货申请单,总部手持PDA选择要货申请单,扫描条码按照要货单进行发货

要货申请单 优势点:使用盘点机PDA扫描商品条码做要货申请单,不用去电脑上人工手工一行行录入。手持PDA扫描商品货架,实时查询库存,录入要货数量,自动生成要货申请单。总部电脑上立即可以看到这个要货申请单,对要货申请单进行审核。总部仓管员手持PDA在【仓库调拨单】中查询选择需要配货的【要货申请单】,就知道需要发什么商品,发多少数量,并且在扫描发货时实现商品品种校验,和商品数量个校验,防止发错发

Nikto一键扫描Web服务器(KALI工具系列三十)

目录 1、KALI LINUX 简介   2、Nikto工具简介 3、信息收集 3.1 目标IP(服务器) 3.2kali的IP  4、操作实例 4.1 基本扫描 4.2 扫描特定端口 4.3 保存扫描结果 4.4 指定保存格式 4.5 连接尝试 4.6 仅扫描文件上传 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、多才多

贪心推公式——AcWing 125. 耍杂技的牛

贪心推公式 定义 贪心算法是一种在每一步选择中都采取在当前状态下最优的选择,希望通过局部的最优选择来得到全局最优解的算法策略。 运用情况 问题具有最优子结构,即一个问题的最优解包含其子问题的最优解。可以通过局部最优决策逐步推导到全局最优。问题的选择策略相对明确且易于计算。 注意事项 贪心算法并不总是能得到全局最优解,可能会陷入局部最优。对于一些复杂问题,需要谨慎验证其正确性。可能需要对

状态压缩DP——AcWing 291. 蒙德里安的梦想

状态压缩DP 定义 状态压缩DP是一种利用二进制数来表示状态的动态规划算法。它通过将状态压缩成一个整数,从而减少状态数量,提高算法效率。 运用情况 状态压缩DP通常用于解决具有状态转移和最优解性质的问题,例如组合优化、图论、游戏等问题。它的基本思想是将问题的状态表示为一个二进制数,其中每一位表示一个元素或一个状态。通过对二进制数的位运算,可以方便地进行状态转移和最优解的计算。 注意事项