【CSP:202305-1】重复局面(Java)

news2024/10/1 12:14:38

题目链接

  • 202305-1 重复局面

题目描述

背景
图片
输入

  • 样例输入:
8
********
******pk
*****r*p
p*pQ****
********
**b*B*PP
****qP**
**R***K*
********
******pk
*****r*p
p*pQ****
*b******
****B*PP
****qP**
**R***K*
********
******pk
*****r*p
p*p*****
*b**Q***
****B*PP
****qP**
**R***K*
******k*
******p*
*****r*p
p*p*****
*b**Q***
****B*PP
****qP**
**R***K*
******k*
******p*
*****r*p
p*pQ****
*b******
****B*PP
****qP**
**R***K*
********
******pk
*****r*p
p*pQ****
*b******
****B*PP
****qP**
**R***K*
********
******pk
*****r*p
p*p*****
*b**Q***
****B*PP
****qP**
**R***K*
********
******pk
******rp
p*p*****
*b**Q***
****B*PP
****qP**
**R***K*
  • 样例输出
1
1
1
1
1
2
2
1

说明

求解思路

  • 哈希表:将每次的局面状态作为 k e y key key 存放到哈希表中,用 v a l u e value value 值记录下局面出现的次数。
  • 需要注意:存放局面状态要用List<String>而不能使用String[],因为在哈希表中查找是否出现过该局面时,调用的是equals()方法,而String[]equals()方法比较的是引用类型的地址,用List<String>才能比较存放数据内容是否相同。

实现代码

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n;
        n = in.nextInt();
        in.nextLine();

        HashMap<List<String>, Integer> hashMap = new HashMap<>();
        for (int i = 0; i < n; i ++) {
            List<String> list = new ArrayList<>();
            for (int j = 0; j < 8; j ++) {
                list.add(in.nextLine());
            }
            hashMap.merge(list, 1, Integer::sum);
            System.out.println(hashMap.get(list));
        }
        in.close();
    }
}

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

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

相关文章

FPGA第 6 篇,PFGA基础数字电路,PFGA基础知识数字电路, 组合逻辑电路和时序逻辑电路,数字电路与模拟电路

前言 FPGA&#xff08;Field-Programmable Gate Array&#xff0c;现场可编程门阵列&#xff09;是一种高度灵活的硬件器件&#xff0c;可以通过编程配置其内部的逻辑单元和连接&#xff0c;适用于各种数字电路设计和实现。在学习FPGA之前&#xff0c;掌握数字电路的基础知识是…

【AI】Ollama+OpenWebUI+llama3本地部署保姆级教程,没有连接互联网一样可以使用AI大模型!!!

1 电脑配置 操作系统CPU内存Windows 10以上12核16GB 2 安装Ollama 2.1 下载Ollama 登录Ollama官网下载Ollama安装包 GitHub&#xff1a;https://github.com/ollama/ollama?tabreadme-ov-file 2.2 安装Ollama Windows下安装Ollama很简单&#xff0c;双击运行安装文件即…

ES6笔记总结(Xmind格式):第三天

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; ES6知识总结&#xff1a; Promise的使用: 1.使用 new Promise() 构造函数来创建一个 promise 对象 2.接受两个函数作为参数&#xff1a;resolve 和 reject ①resolve 函数在异步操作成功完成时调用&#xf…

[000-01-022].第06节:RabbitMQ中的交换机介绍

1.什么是Exchanges(交换机&#xff09;: 1.RabbitMQ 消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上&#xff0c;通常生产者甚至都不知道这些消息传递传递到了哪些队列中2.生产者只能将消息发送到交换机(exchange)&#xff0c;交换机工作的内容非常…

Axure版需求文档:原型版PRD模板

行业原型预览链接&#xff1a;&#xff08;请与班主任联系获取原型文档&#xff09; 文件类型&#xff1a;.rp 支持版本&#xff1a;Axrure RP 8 文档名称&#xff1a;Axure需求规格说明书-PRD模版 文件大小&#xff1a;3.50 MB 目录内容介绍 文档内容介绍 回复 “211103”…

设计师具备怎样的专业素养,才能走得更远?

设计师具备怎样的专业素养&#xff0c;才能走得更远&#xff1f; 带着这样的思考&#xff0c;我们邀请到莱佛士设计学院知名校友Regina Fang——新加坡独立品牌NEWFOUND纽方品牌创始人&#xff0c;为大家解读设计师在学习技能以及创业的过程&#xff0c;需要具备怎样的专业素养…

九、 系统安全(考点篇)试题

信息安全系统&#xff1a;技术方面有了&#xff0c;管理方面有了&#xff0c;看选项里&#xff0c;A、C、D都是需求跟安全扯不上多大关系。选B 备份和恢复跟安全沾边&#xff0c;迁移是旧系统数据迁到新系统&#xff0c;测试跟安全更远了。选C 选D机密性&#xff1b;选D可控性…

城市轨道交通能耗管理

随着城市轨道交通线网规模的扩大&#xff0c;其能源消耗也日益增加。车站作为城市轨道交通系统的“单元”&#xff0c;能耗管理效应的发挥主要从“车站”人手。同时&#xff0c;为助推国家双碳战略目标实施&#xff0c;文章结合《中国城市轨道交通智慧城轨发展纲要》及应用需求…

fragment生命周期

fragment生命周期 onAttach()始终在任何Lifecycle 状态更改之前调用&#xff0c;所以onAttach()在onCreate()之前调用。 onAttach(): Fragment 被附加到 Activity 时调用。在这个阶段&#xff0c;Fragment 可以获取 Activity 的上下文。 onCreate(): 在 Fragment 创建时调用…

旅游巴士(bus)【CSPJ2023】

题目描述 小Z 打算在国庆假期期间搭乘旅游巴士去一处他向往已久的景点旅游。 旅游景点的地图共有n 处地点&#xff0c;在这些地点之间连有m 条道路。其中1 号地点为景区入口&#xff0c;n 号地点为景区出口。我们把一天当中景区开门营业的时间记为0 时刻&#xff0c;则从0 时刻…

[大模型]Conda在线安装-Langchain-Chatchat-V0.3

文章目录 官方仓库地址历史问题 使用conda在线安装启动项目疑问解答为什么运行命令是chatchat&#xff1f; 移动conda与重命名conda 官方仓库 地址 https://github.com/chatchat-space/Langchain-Chatchat历史问题 问题中可能包含着旧版本&#xff08;Langchain-Chatchat-V0…

打通Vue3+Flask(python3)+Mysql-实现简单数据交互

一、需要准备的工具 下载python3&#xff0c;Vscode&#xff0c;pycharm&#xff08;这里用的社区版&#xff09;&#xff0c;phpstudy_pro&#xff0c;Node.js&#xff08;建议下载长期支持版本&#xff0c;版本不宜过低&#xff0c;比如18,20&#xff09;&#xff0c;Vue.js…

LearnOpenGL——HDR、Bloom学习笔记

LearnOpenGL——HDR、Bloom学习笔记 HDR一、基本概念二、浮点帧缓冲 Floating Point Framebuffer三、色调映射 Tone MappingReinhard色调映射曝光色调映射 Bloom一、提取亮色二、高斯模糊三、将两个纹理进行混合 HDR 一、基本概念 显示器被限制只能显示0.0-1.0的颜色&#xf…

“AI+Security”系列第2期(四):AI/机器学习供应链攻击

近日&#xff0c;由安全极客、Wisemodel 社区和 InForSec 网络安全研究国际学术论坛联合主办的“AISecurity”系列第二期线上活动如期举行。此次活动的主题为“对抗&#xff01;大模型自身安全的攻防博弈”&#xff0c;旨在深入探讨和分析人工智能和机器学习领域中的安全问题。…

武汉流星汇聚:亚马逊返校季学习用品热销,精准布局助力卖家成功

随着夏日的余温逐渐消散&#xff0c;新学期的钟声悄然临近&#xff0c;家长与学生们纷纷投入到新学期的准备工作中&#xff0c;而亚马逊作为全球领先的电商平台&#xff0c;再次迎来了学习用品销售的火爆季节。数据显示&#xff0c;过去30天内&#xff0c;“back to school”&a…

罗德与施瓦茨(RS)RTP164、RTP134,RTP084,RTP064示波器

罗德示波器系列RTP164租赁RTP134收购RTP084/RTP064/RTP034 概述 数字示波器是数据采集&#xff0c;A/D转换&#xff0c;软件编程等一系列的技术制造出来的高性能示波器&#xff0c;是电子类学科设计、制造和维修产品过程中不可或缺的工具。R&SRTP164示波器可以提供16GHz的…

U盘安装Ubuntu24.04,乌邦图,UltralISO

文章目录 前言通过UltraISO&#xff0c;制作启动U盘下载镜像制作工具UltraISO(软碟通)下载ubuntu镜像文件制作启动U盘 安装ubuntu设置root密码&#xff0c;并登陆root 前言 在Ubuntu作为主流的linux系统&#xff0c;有时候使用VMware安装使用&#xff0c;总归有一定的性能损耗…

深度学习 --- VGG16各层feature map可视化(JupyterNotebook实战)

VGG16模块的可视化 VGG16简介&#xff1a; VGG是继AlexNet之后的后起之秀&#xff0c;相对于AlexNet他有如下特点&#xff1a; 1&#xff0c;更深的层数&#xff01;相对于仅有8层的AlexNet而言&#xff0c;VGG把层数增加到了16和19层。 2&#xff0c;更小的卷积核&#xff01;…

大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

C语言与Python的区别

一、言语类型Python是一种基于解说器的言语&#xff0c;解说器会逐行读取代码&#xff1b;首先将Python编译为字节码&#xff0c;然后由大型C程序解说&#xff1b;C是一种编译言语&#xff0c;完好的源代码将直接编译为机器代码&#xff0c;由CPU直接履行。 二、内存办理Python…