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

http://noi.openjudge.cn/——2.5基本算法之搜索——200:Solitaire

文章目录

    • 题目
    • 宽搜代码
    • 总结

题目

总时间限制: 5000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB
描述
Solitaire is a game played on a chessboard 8x8. The rows and columns of the chessboard are numbered from 1 to 8, from the top to the bottom and from left to right respectively.
There are four identical pieces on the board. In one move it is allowed to:
move a piece to an empty neighboring field (up, down, left or right),
jump over one neighboring piece to an empty field (up, down, left or right).
在这里插入图片描述
There are 4 moves allowed for each piece in the configuration shown above. As an example let’s consider a piece placed in the row 4, column 4. It can be moved one row up, two rows down, one column left or two columns right.
Write a program that:
reads two chessboard configurations from the standard input,
verifies whether the second one is reachable from the first one in at most 8 moves,
writes the result to the standard output.
输入
Each of two input lines contains 8 integers a1, a2, …, a8 separated by single spaces and describes one configuration of pieces on the chessboard. Integers a2j-1 and a2j (1 <= j <= 4) describe the position of one piece – the row number and the column number respectively.
输出
The output should contain one word YES if a configuration described in the second input line is reachable from the configuration described in the first input line in at most 8 moves, or one word NO otherwise.
样例输入
4 4 4 5 5 4 6 5
2 4 3 3 3 6 4 6
样例输出
YES

宽搜代码

#include <bits/stdc++.h>
using namespace std;
const int d[4][2]={{0,-1},{-1,0},{0,1},{1,0}};//左上右下四个方向 
struct node{//每个棋的坐标 int x,y;bool operator<(const node& b)const{//排序用 if(x==b.x)return y<b.y;return x<b.x;}
};
struct chesss{int step,id[2];//步数 node piece[2][4];//起始和目标四个子的位置 bool board[2][9][9];//起始和目标的布局chesss(){//无参构造函数 step=0;memset(board,0,sizeof(board));//初始化 }void makeid(int x){//布局(各棋子的坐标)转换成8位唯一的id sort(piece[x],piece[x]+4);//排序 id[x]=0;for(int i=0;i<4;i++)id[x]=id[x]*100+piece[x][i].x*10+piece[x][i].y;}bool move(int i,int f){//哪个棋往哪个方向走棋 int& x=piece[0][i].x;//引用,给变量取别名 int& y=piece[0][i].y;//简化变量名称 int x2=piece[0][i].x+d[f][0],y2=piece[0][i].y+d[f][1],//一步 x3=piece[0][i].x+2*d[f][0],y3=piece[0][i].y+2*d[f][1];//两步 if(x2<1||x2>8||y2<1||y2>8)return 0;//一步越界if(board[0][x2][y2]){//旁边有子 if(x3<1||x3>8||y3<1||y3>8)return 0;//两步越界if(board[0][x3][y3])return 0;//跳步有子swap(board[0][x][y],board[0][x3][y3]);//跳步 x=x3,y=y3;//return 1;}else{//如果旁边没有棋子的话 swap(board[0][x][y],board[0][x2][y2]);//走一步 x=x2,y=y2;// return 1; }}void view(string s,int x,int w,int f){cout<<s<<"\t步数"<<step<<endl;if(w!=-1&&f!=-1)cout<<w<<"棋子"<<"\t"<<(f==0?"左":f==1?"上":f==2?"右":"下")<<endl; cout<<"列:\t";for(int j=1;j<=8;j++)cout<<j<<"\t";cout<<endl;for(int i=1;i<=8;i++){cout<<i<<"\t";for(int j=1;j<=8;j++)cout<<board[x][i][j]<<"\t";cout<<endl;}}
}chess,che;
//bool k[88888888];//88888888字节/1024/1024=84.77M
bool k[8][8][8][8][8][8][8][8];//8^8=16777216字节/1024/1024=16M
queue<chesss> q;
int main(){//freopen("data.cpp","r",stdin);//freopen("data.txt","w",stdout);int x,y;for(int i=0;i<2;i++){for(int j=0;j<4;j++){cin>>x>>y;chess.piece[i][j].x=x,chess.piece[i][j].y=y;chess.board[i][x][y]=1;}chess.makeid(i);//chess.view("原",i,-1,-1);}bool ans=0;q.push(chess);k[chess.piece[0][0].x-1][chess.piece[0][0].y-1][chess.piece[0][1].x-1][chess.piece[0][1].y-1][chess.piece[0][2].x-1][chess.piece[0][2].y-1][chess.piece[0][3].x-1][chess.piece[0][3].y-1]=1; while(!q.empty()){chess=q.front();q.pop();if(chess.step>8)continue;//cout<<chess.id[0]<<"\t"<<chess.id[1]<<endl;if(chess.id[0]==chess.id[1]){ans=1;break;}//chess.view("出发------------",0,-1,-1);for(int i=0;i<4;i++)//四个棋子 for(int j=0;j<4;j++){//四个方向 che=chess;if(che.move(i,j)){che.makeid(0);if(k[che.piece[0][0].x-1][che.piece[0][0].y-1][che.piece[0][1].x-1][che.piece[0][1].y-1][che.piece[0][2].x-1][che.piece[0][2].y-1][che.piece[0][3].x-1][che.piece[0][3].y-1])continue; k[che.piece[0][0].x-1][che.piece[0][0].y-1][che.piece[0][1].x-1][che.piece[0][1].y-1][che.piece[0][2].x-1][che.piece[0][2].y-1][che.piece[0][3].x-1][che.piece[0][3].y-1]=1; che.step++;//che.view("到达",0,i,j); q.push(che);}}}if(ans)cout<<"YES";else cout<<"NO";return 0;
}

总结

1.***
四个棋子,只改变他们的位置
可以上下左右移动一格
如果上下左右有别的棋子,可以跳过去
2.***
四个棋子坐标排序后生成唯一的id
3.***
bool k[88888888];//88888888字节/1024/1024=84.77M
bool k[8][8][8][8][8][8][8][8];//8^8=16777216字节/1024/1024=16M
4.***
宽搜找最短路径
在8步内深搜做不到枚举,较麻烦
5.***
需要验证局部程序。

相关文章:

http://noi.openjudge.cn/——2.5基本算法之搜索——200:Solitaire

文章目录 题目宽搜代码总结 题目 总时间限制: 5000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 Solitaire is a game played on a chessboard 8x8. The rows and columns of the chessboard are numbered from 1 to 8, from the top to the bottom and from left t…...

deep鼠标跟随插件

效果图 实现 首先打开深度系统终端&#xff0c;键入以下安装命令&#xff1a; sudo apt install oneko安装完成后&#xff0c;执行以下命令启动&#xff1a; oneko启动后&#xff0c;就会出现小猫咪&#xff0c;如果终端不关&#xff08;服务不关&#xff09;&#xff0c;会…...

Verilog 语法 (二)

在掌握了 Verilog 的基础语法和常用程序框架之后&#xff0c;本节将带大家深入学习一些 高级设计知识点。这些内容包括&#xff1a; 阻塞赋值&#xff08;&#xff09;与非阻塞赋值&#xff08;<&#xff09;的区别及使用场景&#xff1b; assign 和 always 语句的差异&am…...

大数据开发环境的安装,配置(Hadoop)

1. 三台linux服务器的安装 1. 安装VMware VMware虚拟机软件是一个“虚拟PC”软件&#xff0c;它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比&#xff0c;VMWare采用了完全不同的概念。 我们可以通过VMware来安装我们的linux虚拟机…...

唯创安全:从传统到智能,工厂智能叉车AI防撞系统解决方案

一、叉车安全管理现状痛点分析 1、司机管理难题 • 违规操作频发&#xff1a;无证驾驶、疲劳驾驶(如作业中吸烟/玩手机)及不系安全带现象普遍&#xff0c;事故风险与法律风险双高。 • 资源分配失衡&#xff1a;未经授权使用导致车辆调度混乱&#xff0c;影响作业效率。 2、…...

Windows与CasaOS跨平台文件同步:SyncThing本地部署与同步配置流程

文章目录 前言1. 添加镜像源2. 应用安装测试3. 安装syncthing3.1 更新应用中心3.2 SyncThing安装与配置3.3 Syncthing使用演示 4. 安装内网穿透工具5. 配置公网地址6. 配置固定公网地址 推荐 ​ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽…...

基于Django的个性化股票交易管理系统

本项目基于Python3.6、Django2.1、MySql8.0&#xff08;最好不要使用5.6&#xff0c;字符集等方面均不兼容&#xff0c;否则导入数据库会出错&#xff09;与股票信息工具包TuShare实现。 创建或激活对应Python开发环境 这里使用了conda来管理环境&#xff0c;强烈推荐&#xf…...

Python图像变清晰与锐化,调整对比度,高斯滤波除躁,卷积锐化,中值滤波钝化,神经网络变清晰

本次使用图片来源于百度 import cv2 import time import numpy as np import pywtfrom PIL import Image, ImageEnhance#-i https://pypi.mirrors.ustc.edu.cn/simpledef super_resolution(input_path, output_path, model_path, scale4):# 初始化超分辨率模型sr cv2.dnn_su…...

带根线就无敌?光纤无人机如何成为电子战的终结者

在硝烟弥漫的俄乌战场上&#xff0c;一条超细光缆正在悄然改变战争规则。2024年俄军首次在前线部署光纤FPV无人机&#xff0c;其通过释放光纤线缆传输数据&#xff0c;成功对乌军装甲目标实施精准打击。乌方同时也迅速跟进&#xff0c;于 2025 年初量产光纤FPV 无人机以突破俄军…...

windows 和ubuntu静态路由配置

目录 windows 1 查看当前路由表 2 添加静态路由 3 删除路由 ubuntu route命令&#xff08;传统方式&#xff09; 使用ip指令&#xff08;推荐&#xff09; ubuntu永久路由配置 子网掩码解释 windows 1 查看当前路由表 -4 只关注ipv4&#xff0c;-6 用于指定显示 IPv6 …...

《深入理解计算机系统》阅读笔记之第四章 处理器体系结构

概述 备注&#xff1a;怎么感觉讲的还是《编码》这本书里面提到的知识点&#xff1f;...

vue项目前后端分离设计

在Vue前端架构中&#xff0c;通过分层结构和模块化设计实现高效的前后端分离&#xff0c;需要系统性规划各层职责、接口管理和数据流控制。以下是结合业界最佳实践的完整方案&#xff1a; 一、分层架构设计 1. 分层结构&#xff08;自上而下&#xff09; 层级职责示例技术实现…...

Steam游戏服务器攻防全景解读——如何构建游戏级抗DDoS防御体系?

Steam游戏服务器的DDoS攻防体系设计&#xff0c;从协议层漏洞利用到业务连续性保障&#xff0c;深度拆解反射型攻击、TCP状态耗尽等7类威胁场景。基于全球15个游戏厂商攻防实战数据&#xff0c;提供包含边缘节点调度、AI流量指纹识别、SteamCMD加固配置的三维防护方案&#xff…...

七、web自动化测试03

目录 一、xpath定位1. 属性定位2.属性与逻辑结合3. 属性与层级结合 二、cookie1. 验证码处理方案2. cookie3. 案例&#xff1a;cookie跳过登录 三、pytest1. 介绍及安装2. 定义用例3. 执行测试用例3.1 命令行运行3.2 配置文件运行3.3 项目配置文件config.py 4. 参数化5. 断言6.…...

企业级AI开发利器:Spring AI框架深度解析与实战

企业级AI开发利器&#xff1a;Spring AI框架深度解析与实战 一、前言&#xff1a;Java生态的AI新纪元 在人工智能技术爆发式发展的今天&#xff0c;Java开发者面临着一个新的挑战&#xff1a;如何将大语言模型&#xff08;LLMs&#xff09;和生成式AI&#xff08;GenAI&#…...

docker-compose安装RustDesk远程工具

以下是使用 docker-compose 部署 RustDesk 服务端(ID服务器 hbbs + 中继服务器 hbbr)的完整流程: 1. 创建 docker-compose.yml mkdir -p ~/rustdesk && cd ~/rustdesk vi docker-compose.ymlversion: 3.8services...

Qt基础009(HTTP编程和QJSON)

文章目录 软件开发网络架构BS架构/CS架构 HTTP基本概念QT的HTTP编程JSON数据概述QT生成JSON数据QT解析JSON数据 软件开发网络架构 BS架构/CS架构 ​ 在计算机网络和软件开发中&#xff0c;CS架构&#xff08;Client-Server Architecture&#xff0c;客户端-服务器架构&#x…...

学习整理在centos7上安装mysql8.0版本教程

学习整理在centos7上安装mysql8.0版本教程 查看linux系统版本下载mysql数据库安装环境检查解压mysql安装包创建MySQL需要的目录及授权新增用户组新增组用户配置mysql环境变量编写MySQL配置文件初始化数据库初始化msyql服务启动mysql修改初始化密码配置Linux 系统服务工具,使My…...

第R4周:LSTM-火灾温度预测

文章目录 一、前期准备工作1.导入数据2. 数据集可视化 二、构建数据集1. 数据集预处理2. 设置X, y3. 划分数据集 三、模型训练1. 构建模型2. 定义训练函数3. 定义测试函数4. 正式训练模型 四、模型评估1. Loss图片2. 调用模型进行预测3. R2值评估 总结&#xff1a; &#x1f36…...

Linux文件管理完全指南:从命名规则到压缩解压

一、文件命名规则&#xff1a;避免踩坑的关键 1. 允许的字符与命名建议 允许字符&#xff1a;除 / 外所有字符均可使用&#xff0c;但需避免 <, >, ?, * 等特殊符号。 命名建议&#xff1a; 统一使用小写字母&#xff08;Linux严格区分大小写&#xff09;。 用下划线…...

react和vue的区别之一

前言 小编在学react的时候&#xff0c;发现react在使用ant-design组件的from表单&#xff0c;有点惊奇&#xff0c;跟vue差别确实有点大。 1-React 与 Vue 表单处理对比指南 核心差异概述 特性VueReact (Ant Design Form)数据定义必须显式定义 reactive/ref通过 name 隐式定…...

电力系统最小惯性常数解析

1. 什么是惯性常数&#xff1f; 电力系统的惯性常数&#xff08;Inertia Constant&#xff09;可以理解为系统抵抗频率突变的能力&#xff0c;类似于“惯性”。传统电力系统中&#xff0c;同步发电机&#xff08;如火电厂&#xff09;的旋转部件&#xff08;如涡轮、转子&…...

Linux软硬链接和动静态库(20)

文章目录 前言一、软硬链接基本认知实现原理应用场景取消链接ACM时间 二、动静态库认识库库的作用 三、制作静态库静态库的打包静态库的使用 四、制作动态库动态区的打包动态库的链接与使用动态库的链接原理 总结 前言 我有款非常喜欢玩的游戏&#xff0c;叫做《饥荒》&#xf…...

FX10(CYUSB4014)USB3.2(10Gbps)开发笔记分享(1):硬件设计与开发环境搭建

作者&#xff1a;Hello&#xff0c;Panda 大家早上好&#xff0c;中午好&#xff0c;下午好&#xff0c;晚上好&#xff0c;熊猫君又来了。这次计划做一个连载&#xff0c;大概6期左右&#xff0c;主要介绍英飞凌最新的FX5/10/20的器件应用。目前&#xff0c;熊猫君手上调试的…...

【工具变量】上市公司-“链主“企业相关数据(2001-2024年)

上市公司的"链主企业"&#xff08;Anchor Enterprise&#xff09;指在其供应链中具有较较高中心度的公司。这些公司通过其规模、技术优势、资源整合能力等&#xff0c;影响和带动整个产业链的发展与运作。这些企业往往是供应链中最重要的节点&#xff0c;其决策和行为…...

Qt知识点1『16进制数值与文本互相转换』

工作中可能会遇到QByteArray保存着16进制的数据&#xff0c;例如网络传输中的数据在抓包软件下就会显示为16进制的文本格式。本次是在串口通讯首发消息时遇到的这类转换问题&#xff0c;做一下记录。 一、16进制的文本字符串如何转换数值 解决&#xff1a;形如QString("0…...

MongoDB Shard Cluster

# MongoDB Shard Cluster 集群规划 132上面单独安装mongos 在 1,2,3上面安装shard1和config 在 4,5,6上面安装shard2 节点host如下 172.20.192.20 member1.blockin.ai 172.20.192.21 member2.blockin.ai 172.20.192.31 member3.blockin.ai …...

Pycharm(六):可变与不可变类型

一、引用 在java中既有值传递,也有引用传递,我们思考一下在python中值的传递方式是哪种类型呢? 答案是引用传递。 概述: Python中存储变量是需要占用内存空间的,为了更好地管理这些空间,每块空间都是有自己的地址值的。 格式: id(变量名/值) 可以查看变量/…...

每日算法-250425

每日算法打卡 - 2025年4月25日 记录今天完成的几道 LeetCode 算法题&#xff0c;分享解题思路和代码。 2178. 拆分成最多数目的正偶数之和 题目 解题思路 贪心算法 解题过程 题目要求我们将一个偶数 finalSum 拆分成尽可能多的 不同 正偶数之和。 为了使拆分出的数字数量…...

github把自己的jar包发送到maven中央仓库

maven中央仓库注册账号 《Maven中央仓库官网》 注册账号 直接使用github账号 他会自动帮我们创建一个github的命名空间 获取自己的User Token 切记立马复制、保存username和password&#xff0c;后面maven的settings.xml会用到&#xff0c;因为这个页面会在一分钟以后自动关闭…...

链表系列一>两两交换链表中的结点

目录 题目&#xff1a;解析&#xff1a;代码&#xff1a; 题目&#xff1a; 链接: link 解析&#xff1a; 代码&#xff1a; /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int va…...

【深度强化学习 DRL 快速实践】异步优势演员评论员算法 (A3C)

Asynchronous Advantage Actor-Critic A3C (2016, DeepMind) 异步优势演员评论员算法 (A3C): 继承 actor-critic 的优势&#xff0c;同时通过异步多线程 (团队作战) 加速了训练过程 model-free, actor-critic 核心改进点说明异步并行训练 – Asynchronous (无经验回放)通过多个…...

240425 leetcode exercises

240425 leetcode exercises jarringslee 文章目录 240425 leetcode exercises[147. 对链表进行插入排序](https://leetcode.cn/problems/insertion-sort-list/)&#x1f501;插入排序 [1721. 交换链表中的节点](https://leetcode.cn/problems/swapping-nodes-in-a-linked-list…...

找三维gis开发的工作,Mapbox要学到什么程度?

Mapbox 是⼀个可以创建各种⾃定义地图的⽹站&#xff0c;如 Pinterest、Evernote、Github、500px 等⼤牌都使⽤ Mapbox 创建⾃⼰的地图&#xff0c;Mapbox 宣称要构建世界上最漂亮的地图。已为 Foursquare、Pinterest、Evernote、⾦融时报、天⽓频道、优步科技 等公司的⽹站提供…...

ThinkPHP6模型中多组条件逻辑或Or查询的使用

直接进入正题&#xff0c;如我们的查询条件是这样的&#xff1a; (age > 20 and job_id 3) or (sex 1 and age < 20) 上面两组数据之间是 Or 的关系。 可使用两个闭包进行查询&#xff0c;代码如下&#xff1a; $map1 [age > 30,sex > $id,];$map2 …...

《AI大模型趣味实战》基于RAG向量数据库的知识库AI问答助手设计与实现

基于RAG向量数据库的知识库AI问答助手设计与实现 引言 随着大语言模型&#xff08;LLM&#xff09;技术的快速发展&#xff0c;构建本地知识库AI问答助手已成为许多企业级应用的需求。本研究报告将详细介绍如何基于FLASK开发一个使用本地OLLAMA大模型底座的知识库AI问答助手&…...

netcore8.0项目发布到centos,利用nginx反向代理(宝塔面板篇)

1、发布netcore项目 在program.cs中配置nginx代理 // 添加Nginx反向代理支持 builder.Services.Configure<ForwardedHeadersOptions>(options > {options.ForwardedHeaders ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;options.KnownNetwo…...

项目笔记1:通用 Service的常见方法

通用 Service 通常封装了常见的业务逻辑操作&#xff0c;以提高代码的复用性和可维护性。不同的框架和业务场景下&#xff0c;通用 Service 的方法会有所差异&#xff0c;但一般都会包含一些基本的增删改查&#xff08;CRUD&#xff09;操作&#xff0c;以下为你详细介绍&#…...

VUE3父子组件defineModel动态值获取及处理

需求&#xff1a;子组件获取父组件value值时需处理&#xff0c;子组件加载时用onMounted&#xff0c;value变化时用watch 父组件&#xff1a; <template><div><p>父组件的值: {{ parentValue }}</p><button click"changeValue">改变…...

CUDA编程之Grid、Block、Thread线程模型

一、线程模型:Grid、Block、Thread概念 ‌1. 层级定义‌ ‌Thread(线程)‌ CUDA中最基本的执行单元,对应GPU的单个CUDA核心(SP)。每个线程独立执行核函数指令,拥有独立的寄存器和局部内存空间‌。 ‌Block(线程块)‌ 由多个线程组成(通常为32的倍数),是逻辑上的并…...

BT151-ASEMI无人机专用功率器件BT151

编辑&#xff1a;ll BT151-ASEMI无人机专用功率器件BT151 型号&#xff1a;BT151 品牌&#xff1a;ASEMI 封装&#xff1a;TO-220F 批号&#xff1a;最新 引脚数量&#xff1a;3 特性&#xff1a;单向可控硅 工作温度&#xff1a;-40℃~150℃ ‌BT151单向可控硅产品解…...

无人机环境适应性与稳定性技术要点!

1. 环境感知与传感器融合 多传感器集成&#xff1a;结合IMU&#xff08;惯性测量单元&#xff09;、GPS、气压计、激光雷达&#xff08;LiDAR&#xff09;、视觉传感器&#xff08;RGB/深度相机&#xff09;、超声波等&#xff0c;实现冗余数据采集。 实时环境建模&#xff1…...

BiliNote:开源的AI视频笔记生成工具,让知识提取与分享更高效——跨平台自动生成结构化笔记,实现从视频到Markdown的智能转化

引言:视频学习的痛点与BiliNote的解决方案 随着知识视频化趋势的加速,B站、YouTube等平台成为学习与信息获取的重要渠道,但手动记录笔记耗时低效、信息碎片化等问题依然突出。BiliNote的出现,通过AI驱动的自动化流程,将视频内容转化为结构清晰的Markdown笔记,支持截图插…...

HTMLcss实现网站抽奖

代码由 HTML、CSS 和 JavaScript 三部分组成&#xff0c;HTML 负责页面的结构搭建&#xff0c;CSS 负责页面的样式设计&#xff0c;JavaScript 负责实现抽奖的交互逻辑。 HTML 部分 <!DOCTYPE html> <html lang"en"><head><meta charset"…...

字节:视频一致性生成论文速读

一、引言 Phantom: Subject-Consistent Video Generation via Cross-Modal Alignment 是北京字节跳动智能创作团队提出的一种新型视频生成方法&#xff0c;旨在解决主体一致性视频生成的难题。该方法通过平衡文本和图像的双重模态提示&#xff0c;实现文本和视觉内容的深度对齐…...

JAVA常用分布式锁Redisson

1. 加锁过程 底层命令与数据结构 Redis 数据结构&#xff1a;使用 Hash 结构存储锁信息&#xff0c;Key 为锁名称&#xff0c;Field 为客户端唯一标识&#xff08;如 UUID 线程ID&#xff09;&#xff0c;Value 为锁的重入次数。 Lua 脚本原子性&#xff1a;通过 Lua 脚本在…...

9.ArkUI List的介绍和使用

ArkUI List 组件详解与使用指南 List 是 ArkUI&#xff08;HarmonyOS 开发框架&#xff09;中用于展示长列表数据的高性能滚动容器组件。以下是 List 的详细介绍和使用方法。 基本介绍 List 组件特点&#xff1a; 支持垂直/水平滚动高性能渲染&#xff08;仅渲染可视区域内…...

深度解析:从12306看混合云架构下的高并发系统设计

作为曾参与12306余票查询系统高并发升级的技术从业者&#xff0c;笔者注意到公众对于12306底层技术常存在认知盲区。为破解这一迷思&#xff0c;特此分享十年前的架构解密文献&#xff08;该技术之前名叫 gemfire 现已晋升为Apache顶级项目Geode&#xff0c;代码库详见&#xf…...

解决 EasyExcel 填充图片占满单元格问题

本篇主要记录解决使用EasyExcel 填充图片的两个问题&#xff1a; 1. 如何根据标识填充 2.如果完全占满要显示的单元格 import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.metadata.data.ImageData; import com.alibaba.e…...

汽车售后 D - PDU 和 J2543 详细介绍

D - PDU&#xff08;Diagnostic Protocol Data Unit&#xff09; 定义与标准1&#xff1a;D - PDU 是指诊断协议数据单元&#xff0c;ISO 22900 - 2 - 2017 D - PDU - API 是针对道路车辆的模块化车辆通信接口&#xff08;MVCI&#xff09;中诊断协议数据单元的编程接口标准。…...