GDPU 竞赛技能实践 天码行空3

2024-03-14 03:04

本文主要是介绍GDPU 竞赛技能实践 天码行空3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 五星填数

在这里插入图片描述

💖 源代码

public class Main
{static int[] nums = new int[11];static boolean[] used = new boolean[13];static long ans = 0;static{used[7] = true;used[11] = true;}public static void main(String[] args){dfs(1);System.out.println(ans / 10);// 除10去除镜像和旋转的重复项}private static void dfs(int idx){if (idx == 11){check();return;}for (int i = 1; i <= 12; i++){if (!used[i]){used[i] = true;nums[idx] = i;dfs(idx + 1);used[i] = false;}}}private static void check(){int a = nums[1] + nums[3] + nums[6] + nums[9];int b = nums[1] + nums[4] + nums[7] + nums[10];int c = nums[2] + nums[6] + nums[8] + nums[10];int d = nums[2] + nums[3] + nums[4] + nums[5];int e = nums[5] + nums[7] + nums[8] + nums[9];if (a == b && b == c && c == d && d == e)ans++;}
}

💖 输出

12

2. 遍历黑点

在这里插入图片描述

💖 源代码

public class Main
{static int n = 4, m = 5;static char[][] map = new char[][] { { '.', '.', '.', '.', '#' }, { '.', '.', '.', '.', '.' },{ '#', '@', '.', '.', '.' }, { '.', '#', '.', '.', '#' } };static boolean[][] st = new boolean[n][m];static boolean[][] out = new boolean[n][m];static int[] dx = { 0, 1, 0, -1 };static int[] dy = { 1, 0, -1, 0 };public static void main(String[] args){int sx = 0, sy = 0;// 起点坐标for (int i = 0; i < n; i++)for (int j = 0; j < m; j++)if (map[i][j] == '@'){sx = i;sy = j;}
//		从起点开始搜索dfs(sx, sy);}private static void dfs(int x, int y){if (!out[x][y]){out[x][y] = true;System.out.println("黑点:[" + x + "][" + y + "]");}for (int i = 0; i < 4; i++){int xx = x + dx[i];int yy = y + dy[i];if (xx >= 0 && xx < n && yy >= 0 && yy < m && !st[xx][yy] && map[xx][yy] == '.'){st[x][y] = true;dfs(xx, yy);st[xx][yy] = false;}}}
}

💖 输出

黑点:[2][1]
黑点:[2][2]
黑点:[2][3]
黑点:[2][4]
黑点:[1][4]
黑点:[1][3]
黑点:[1][2]
黑点:[1][1]
黑点:[1][0]
黑点:[0][0]
黑点:[0][1]
黑点:[0][2]
黑点:[0][3]
黑点:[3][3]
黑点:[3][2]

3. 门牌编号

💖 源代码

public class Main
{static int ans = 0;static void cal(int x){while (x != 0){int t = x % 10;if (t == 2)ans++;x /= 10;}}public static void main(String[] args){for (int i = 1; i <= 2020; i++)cal(i);System.out.println(ans);}
}

💖 输出

624

这篇关于GDPU 竞赛技能实践 天码行空3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

MySQL存储过程实践(in、out、inout)

《MySQL存储过程实践(in、out、inout)》文章介绍了数据库中的存储过程,包括其定义、优缺点、性能调校与撰写,以及创建和调用方法,还详细说明了存储过程的参数类型,包括IN、OUT和INOUT... 目录简述存储过程存储过程的优缺点优点缺点存储过程的创建和调用mysql 存储过程中的关键语法案例存储

Java 的ArrayList集合底层实现与最佳实践

《Java的ArrayList集合底层实现与最佳实践》本文主要介绍了Java的ArrayList集合类的核心概念、底层实现、关键成员变量、初始化机制、容量演变、扩容机制、性能分析、核心方法源码解析、... 目录1. 核心概念与底层实现1.1 ArrayList 的本质1.1.1 底层数据结构JDK 1.7

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺