第六届 传智杯初赛B组
文章目录
- A. 字符串拼接
- 🍻 AC code
- B. 最小差值
- 🍻 AC code
- C. 红色和紫色
- 🍻 AC code
- D. abb
- 🍻 AC code
- E. kotori和素因子
- 🍻 AC code
- F. 红和蓝
- 🍻 AC code
🥰 Tips:AI可以把代码从 java 转成其他语言的版本,思路比语言更重要。
A. 字符串拼接
👨🏫 题目地址

🍻 AC code
#include <iostream>
using namespace std;int main() {string a, b;getline(cin,a);getline(cin,b);cout << a + b << endl;return 0;
}
B. 最小差值
👨🏫 参考地址
🍻 AC code
import java.util.*;
import java.io.*;public class Main {static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));public static void main(String[] args) throws NumberFormatException, IOException {int n = Integer.parseInt(in.readLine());int[] a = new int[n];String[] ss = in.readLine().split(" ");for(int i =0; i < n; i++)a[i] = Integer.parseInt(ss[i]);Arrays.sort(a);//排序int min = Integer.MAX_VALUE;for(int i =1; i < n; i++)min = Math.min(min, a[i]-a[i-1]);//算差值out.write(min + "");out.flush();}
}
C. 红色和紫色
👨🏫 题目地址

🍻 AC code
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();long ans = (long)n*m;if(ans % 2 == 0)System.out.println("yukari");else {System.out.println("akai");}}
}
D. abb
👨🏫 题目地址
🐷 思路:统计字符串中 a~z 每个字符出现的次数存在 cnt 数组中,根据题意,从前往后枚举 abb中的 a,没枚举一位就减去当前位上的字符数量,这样 cnt[ ] 的字符数量就是当前位往后的字符出现次数了,根据 cnt[ ] 来计算 abb中的bb的情况,使用组合数公式即可
C n m = n ! ( n − m ) ! × m ! C_n^m = \frac{n!}{(n-m)!\times m!} Cnm=(n−m)!×m!n!
🍻 AC code
import java.util.*;
import java.io.*;public class Main {static long mod = (int)1e9+7;static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));static int N = (int)1e5+10;static int[] cnt = new int[256];//统计字母出现次数// C(x,2) = x! / 2! (引以为戒)
// C(x,2) = x! / (2! * (x-2)!) = x * x -1 / 2private static long cal(int x) {long ans = x*(x-1)/2;return ans;}public static void main(String[] args) throws IOException {int n = Integer.parseInt(in.readLine());String s = in.readLine();char[] a = s.toCharArray();n = a.length;long ans = 0;for(int i = 0; i < n; i++)cnt[a[i]]++;for(int i = 0; i < n-1; i++){char c = a[i];cnt[c]--;for(int j = 'a'; j <= 'z'; j++){if(j == c)continue;if(cnt[j] >= 2) {{long t = cal(cnt[j]) % mod;ans += t;}}}}out.write(ans+"\n");out.flush();}
}
E. kotori和素因子
👨🏫 题目地址
🐷 思路:先预处理出 0 到 1000 的所有质数,接着找到每个整数的所有质数因子存在因子数组中。根据题意,每个整数需要选出独一无二质因子,由于数据范围比较小 1 ≤ n ≤ 10 1 \le n \le 10 1≤n≤10,所以可以直接 dfs 枚举每个整数选取哪个质因子。
🍻 AC code
import java.util.*;public class Main {static int N = 15,n,INF = 0x3f3f3f3f;static int[] a = new int[N];//整数数组static int[] p = new int[300];//存2~1000的质数static int cnt = 0;//2~1000的质数个数static ArrayList[] factors = new ArrayList[N];//存每个整数的质因数
// static boolean[] st = new boolean[N];static HashSet<Integer> st = new HashSet<>();//记录已经使用过的质数(st:state 状态)static int ans = INF;//答案public static void main(String[] args) {getPrimes();Scanner sc = new Scanner(System.in);n = sc.nextInt();for(int i =0; i < n; i++){factors[i] = new ArrayList<Integer>();a[i] = sc.nextInt();ArrayList<Integer> t = cal(a[i]);factors[i] = t;}dfs(0,0);if(ans != INF)System.out.println(ans);else {System.out.println(-1);}}// x 表示当前搜索到的第几个整数private static void dfs(int x,int sum) {if(x == n){ans = Math.min(sum, ans);return;}ArrayList<Integer> ls = factors[x];boolean flag = false;for(Integer xx : ls){if(st.contains(xx))continue;flag = true;st.add(xx);dfs(x+1, sum + xx);st.remove(xx);}if(!flag)return;}// 返回 x 的所有质因数private static ArrayList<Integer> cal(int x) {ArrayList<Integer> ans = new ArrayList<Integer>();for(int i = 0; i < cnt; i++)if(x % p[i] == 0)ans.add(p[i]);return ans; }// 预处理质数数组private static void getPrimes() {p[cnt++] = 2;for (int i = 3; i <= 1000; i++)if (isP(i))p[cnt++] = i;}// 判断x是否为质数private static boolean isP(int x) {for(int i = 2; i*i <= x; i++)if(x % i == 0)return false;return true;}
}
F. 红和蓝
👨🏫 题目地址
🐷 思路:如果叶子结点为一种颜色时,它的周围只有其父亲结点,所以父亲结点必须和它同色
🍻 AC code
import java.util.*;
import java.io.*;public class Main {static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));static int N = 200010,n,idx;
// 以无向图的邻接表形式存树static int[] h = new int[N];static int[] e = new int[N];static int[] ne = new int[N];static int[] cnt = new int[N];//存储每个节点包含多少个叶子节点(要求当前节点同色的节点)static int[] sz = new int[N];//存储每个节点所包含的子树的节点数量// 加边函数static void add(int a,int b){e[idx] = b;ne[idx] = h[a];h[a] = idx++;}// u表示当前节点,p表示父结点static boolean dfs(int u,int p){sz[u] = 1;//初始化为1,表示当前节点自身for(int i = h[u]; i != -1; i = ne[i]){int j = e[i];if(j == p)continue;//存的是无向边,特判 父 --> 子 --> 父 的情况if(!dfs(j, u))return false;sz[u] += sz[j];//子树节点数量累加到当前节点的sz值上if((sz[j] & 1 )== 1)//当子树j的结点数为奇数时,当前节点u必须与节点j同色cnt[u]++;}if(cnt[u] > 1 )//两个叶子节点要求同色,无解return false;return true;}static int[] ans = new int[N];//答案数组
// 再跑一次搜索染色,0表示红色R,1表示蓝色B
// u表示当前节点,p表示父结点, c表示颜色static void dfs2(int u,int p,int c){ans[u] = c;for(int i = h[u]; i != -1; i = ne[i]){int j = e[i];if(j == p)continue;if((sz[j] & 1) == 1)dfs2(j, u, c);else {dfs2(j, u, 1-c);}}}public static void main(String[] args) throws Exception {Arrays.fill(h, -1);n = Integer.parseInt(in.readLine());for(int i = 1; i < n; i++){String[] ss = in.readLine().split(" ");int a = Integer.parseInt(ss[0]);int b = Integer.parseInt(ss[1]);add(a, b);add(b, a);}if(n % 2 == 1){System.out.println(-1);System.exit(0);}if(!dfs(1, -1)){System.out.println(-1);return;}dfs2(1, -1, 0);for(int i = 1; i <= n; i++)System.out.print(ans[i] == 0 ? "R" : "B");
// if(ans[i] != 0)
// System.out.print("B");
// else {
// System.out.print("R");
// }}
}相关文章:
第六届 传智杯初赛B组
文章目录 A. 字符串拼接🍻 AC code B. 最小差值🍻 AC code C. 红色和紫色🍻 AC code D. abb🍻 AC code E. kotori和素因子🍻 AC code F. 红和蓝🍻 AC code 🥰 Tips:AI可以把代码从 j…...
文档向量化工具(二):text2vec介绍
目录 前言 text2vec开源项目 核心能力 文本向量表示模型 本地试用 安装依赖 下载模型到本地(如果你的网络能直接从huggingface上拉取文件,可跳过) 运行试验代码 前言 在上一篇文章中介绍了,如何从不同格式的文件里提取…...
vscode中pylance无法显示outline无法跳转
当打开的workspce中有较多的文件时,pylance需要分析的文件太多,导致卡住,无法分析到对应的python文件 常见的情况是,当我们在workspace中包含了data文件夹(通常是通过软连接方式把数据集链接过来)…...
番外篇之通讯录
前言:用到的知识点有枚举、结构体、数组,快速排序(用的名字排序) 下面是测试函数: test.c #define _CRT_SECURE_NO_WARNINGS 1 #include"contact.h" void menu() {printf("*************************…...
学生信息管理系统程序Python
系统主界面 在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时,有两种方法, 一种是输入1,另一种是按下键盘上的↑或↓方向键进行选择。这两种方法的结果是一样的,所以使用哪种方法都可以。 (…...
[js] for forEach for of 循环里await关键字的用法
1、for:循环中使用await的写法(生效) async function loop(){for( let i0; i<array.length; i ){let datas await getDatas()break} }2、forEach:循环中使用await的写法(不生效): array.f…...
Linux面试题(二)
目录 17、怎么使一个命令在后台运行? 18、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息? 19、哪个命令专门用来查看后台任务? 20、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令? 21、终止进程用什么命令…...
电源控制系统架构(PCSA)之系统控制处理器组件
目录 6.4 系统控制处理器 6.4.1 SCP组件 SCP处理器Core SCP处理器Core选择 SCP处理器核内存 系统计数器和通用计时器 看门狗 电压调节器控制 时钟控制 系统控制 信息接口 电源策略单元 传感器控制 外设访问 系统访问 6.4 系统控制处理器 系统控制处理器(SCP)是…...
《已解决: ImportError: Keras requires TensorFlow 2.2 or higher 问题》
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂🦖…...
在 CentOS 7 上安装 MySQL 8
在 CentOS 7 上安装 MySQL 8 步骤 1: 添加 MySQL Yum 存储库 首先,我们需要添加 MySQL Yum 存储库。打开终端并执行以下命令: sudo yum install -y https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm步骤 2: 导入 MySQL GPG 公钥 …...
从二极管到linux服务器
软件设计: os: 批处理系统: 轮询系统:单片机裸机开发 实时系统:ucosii,rtos,rt-thread、风和系统、liteos(主要是海思系列soc在用)等 非实时系统:linux 对os任务切换时寄存器的功能有理解。 对ipc机制有理解。 bsp: 需要对寄存器、单片机内部总线、iic、spi、uart、c…...
设计模式-16-Spring源码中的设计模式
1-Spring之观察者模式 Java、Google Guava都提供了观察者模式的实现框架。Java提供的框架比较简单,只包含java.util.Observable和java.util.Observer两个类。Google Guava提供的框架功能比较完善和强大:通过EventBus事件总线来实现观察者模式。实际上&am…...
Leetcode 2948. Make Lexicographically Smallest Array by Swapping Elements
Leetcode 2948. Make Lexicographically Smallest Array by Swapping Elements 1. 解题思路2. 代码实现 题目链接:2948. Make Lexicographically Smallest Array by Swapping Elements 1. 解题思路 这一题其实思路上就是分组排序,显然,对于…...
[计算机网络]应用层概述
0.写在前面: 该层为教学模型的最后一层,某种意义上来说是最接近各位开发者的一层,正因如此,这层中的很多定义和概念大家都有属于自己的理解, 完全按照书本反而才是异类,因此在这里我会去结合我做前端开发的一些经验,来处理和讲解一些概念,另外本层中的部分协议也不会过多阐述了…...
《已解决:TypeError: unhashable type: ‘slice‘ 问题》
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂🦖…...
Rust UI开发(二):iced中如何为窗口添加icon图标
注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 想要了解如何构建简单窗口的可以看本系列的第一篇: Rust UI开发:使用iced构建UI时,如何在界面显示中文字符 本篇是系…...
Django(十一、auth认证模块)
文章目录 一、auth介绍auth认证相关模块及操作扩展auth_user表 一、auth介绍 Django自带一个admin路由,但是需要我们提供管理员账户和密码,如果想要使用admin后台管理,需要先创建表,然后创建管理员账户。 直接执行数据类迁移命令…...
WebSocket了解
一.什么是WebSocket WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议 二.websocket的原理 web…...
深度学习基础概念
1. 神经网络基础 神经元(Neuron): 了解神经网络的基本组成单元。激活函数(Activation Function): 学习常见的激活函数,如Sigmoid、ReLU等,以及它们在神经网络中的作用。前馈神经网络…...
vatee万腾科技先锋之选:vatee创新力驱动着未来发展
在科技潮流的浩荡前行中,Vatee万腾崭新的科技先锋之选正以强大的创新力引领着未来的发展。Vatee万腾凭借其前瞻性的技术理念和卓越的创新实践,成为业界的引领者,为整个科技行业树立了标杆。 Vatee万腾不仅仅是一家科技公司,更是一…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
