poj3050

news/2024/12/3 0:51:31/

一、题意:有一个5*5的矩形,每个单元格有一个数字。可以从任一个单元格出发,然后可朝上下左右四个方向移动。走五步即可得到一个六位数(可以有前导零),求能得到的不同六位数最多有多少个。

 

二、思路:以每个单元格为起点,进行dfs。每次dfs的深度是6,然后记录下所得到的这个6位数。可以把每次得到的这个六位数变成string类型,然后存在string类型的set中,最后输出set中元素个数即可。但是实践证明这样做TLE了,因为整型转字符串已经判断很耗时。其实可以直接存数字,即使有前导零也无所谓,不影响结果。

 

三、代码:

#include"iostream"
#include"stdio.h"
#include"queue"
#include"string"
#include"set"
#include"sstream"
using namespace std;int house[6][6];
set<int> s;bool Judge(int x,int y)
{if(x>=0&&x<5&&y>=0&&y<5)return true;return false;
}void Dfs(int x,int y,int steps,int num)
{if(steps==5){s.insert(num);return;}int dx[4]={1,0,-1,0};int dy[4]={0,1,0,-1};for(int i=0;i<4;i++){int nx=x+dx[i];int ny=y+dy[i];if(Judge(nx,ny)){num=num*10+house[nx][ny];Dfs(nx,ny,steps+1,num);num=(num-house[nx][ny])/10;}}
}int main()
{// freopen("in.txt","r",stdin);while(scanf("%d",&house[0][0])==1){for(int j=1;j<5;j++)scanf("%d",&house[0][j]);for(int i=1;i<5;i++){for(int j=0;j<5;j++)scanf("%d",&house[i][j]);}s.clear();for(int i=0;i<5;i++){for(int j=0;j<5;j++)Dfs(i,j,0,house[i][j]);}cout<<s.size()<<endl;}return 0;
}

  

转载于:https://www.cnblogs.com/acm-jing/p/9614921.html


http://www.ppmy.cn/news/168261.html

相关文章

三轴陀螺仪MPU3050驱动解析

MPU3050是invensense公司的三轴陀螺仪芯片,三轴陀螺仪最大的作用就是“测量角速度&#xff0c;以判别物体的运动状态&#xff0c;所以也称为运动传感器. 下图是MPU3050的系统框图,芯片有1个中断引脚,可以通过i2c来控制,获取x Gyro&#xff0c;y Gyro&#xff0c;z Gyro 设备驱动…

3050ti跑tensoflow-gpu,屡次碰壁,总结原因如下

项目场景&#xff1a; 例如&#xff1a;新电脑到了&#xff0c;配置是3050ti 4G 其他参数都是比较平均的&#xff0c;安装好基础软件之后&#xff0c;上深度学习。 问题描述 在挣扎后回忆起怎么安装显卡驱动了&#xff0c;看到配置版本tf2.0配的cuda是10.0,cudnn是7.4,安装成…

win11+3050+pytorch深度环境配置

目录 1、驱动安装 2、安装anaconda和pycharm 2.1、安装anaconda 2.1.1、下载anaconda安装包 2.1.2、安装 2.2、安装pycharm 2.2.1、下载安装包 2.2.2、安装 3、安装CUDA和cudnn 3.1、安装CUDA 3.1.1、下载cuda 3.1.2、安装cuda 3.2、安装cudnn 4、配置相关代码的环…

poj 3050

给定一个5*5的地图&#xff0c;每个格子上有一个数字。从一个格子出发&#xff08;上下左右4个方向&#xff09;&#xff0c;走5步将数字连起来可以构造出一个6位数。问该地图可以构造出多少个不同的6位数。 1.看成不能走已经走过的路了&#xff0c;导致5分钟没有写完代码 &a…

OptiPlex 3050 排除故障诊断和电源 LED 代码

表 1. 电源 LED 状态 电源 LED 指示灯状态可能的原因故障排除步骤关闭表明计算机已关闭、未接通电源或处于休眠模式。 在计算机背面的电源连接器和电源插座处重置电源电缆。如果计算机已连接至配电盘&#xff0c;确保配电盘插入电源插座并且已打开。此外&#xff0c;还可以不经…

【Win11+RTX3050显卡】cuda+cudnn+tensorflow 环境配置

【Win11RTX3050显卡】cudacudnntensorflow 环境配置 CUDA 11.5 cudnn 8.3.3 tensorflow-gpu 2.6 1、名词解释 CUDA&#xff1a;CUDA 即英伟达的显卡并行计算框架 nvidia-smi 可以查看&#xff0c;每个版本的CUDA都是基于一定版本的驱动建立的&#xff0c;所以它对驱动的最低…

selenium clear()无效的解决办法

做自动化时&#xff0c;在往输入框中send_keys前往往需要先清空一下这个输入框里的内容&#xff0c;避免输入框原本有内容或默认值&#xff0c;导致最终输入的结果不是预期的内容。 清空内容我们一般会用clear()方法 import time from selenium import webdriverdriver webd…

GIS在地质灾害危险性评估与灾后重建中的实践

第一章 基本概念与平台介绍 1、基本概念 地质灾害类型 地质灾害发育特征与分布规律 地质灾害危害特征 地质灾害孕灾地质条件分析 地质灾害诱发因素与形成机理 ​ 2、GIS原理与ArcGIS平台介绍 GIS简介 ArcGIS基础 空间数据采集与组织 空间参考 空间数据的转换与处理 …