【算法】2022年第十三届蓝桥杯大赛软件类省赛Java大学C组真题

news2025/1/23 9:23:10

 个人主页:NiKo

算法专栏:算法设计与分析


目录

题目 2680:纸张尺寸 

题目 2664:求和

题目 2681: 矩形拼接

题目 2665: 选数异或

题目 2682: GCD

题目 2667: 青蛙过河

题目 2683: 因数平方和

题目 2668: 最长不下降子序列


题目 2680:纸张尺寸 

  • 题目描述

            在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm,将 A0 纸沿长边对折后为 A1 纸,大小为 841mm × 594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸,依此类推。 输入纸张的名称,请输出纸张的大小。

  • 输入格式

            输入一行包含一个字符串表示纸张的名称,该名称一定是 A0、A1、A2、A3、A4、A5、A6、A7、A8、A9 之一。 

  • 输出格式

            输出两行,每行包含一个整数,依次表示长边和短边的长度。

  • 样例输入

    A0
  • 样例输出

    1189
    841
  • 题解

#include<stdio.h>
int main()
{
    char let;
    int num;
    int long_ = 1189,short_ = 841;
    int newlong = long_,newshort = short_;
    scanf("%c%d",&let,&num);
    int type = num;
    if(type==0){
        printf("%d\n",1189);
        printf("%d",841);
    }else{
        while(type){
            // 长边对折
            newlong = long_ / 2;
            if(newlong < short_){
                int temp = short_;
                short_ = newlong;
                long_ = temp;
            }
            type--;
        }
        printf("%d\n",long_);
        printf("%d",short_);
    }
    return 0;
}

题目 2664:求和

  • 题目描述

            给定 n 个整数 a1, a2, · · · , an ,求它们两两相乘再相加的和,即 S = a1 · a2 + a1 · a3 + · · · + a1 · an + a2 · a3 + · · · + an-2 · an-1 + an-2 · an + an-1 · an.

  • 输入格式

    输入的第一行包含一个整数 n 。 

    第二行包含 n 个整数 a1, a2, · · · an。

  • 输出格式

    输出一个整数 S,表示所求的和。请使用合适的数据类型进行运算。

  • 样例输入

    4
    1 3 6 9
  • 样例输出

    117
  • 提示

    对于 30% 的数据,1 ≤ n ≤ 1000,1 ≤ ai ≤ 100。

    对于所有评测用例,1 ≤ n ≤ 200000,1 ≤ ai ≤ 1000。

  • 题解

#include<bits/stdc++.h>
using namespace std;
int main(void){
    ios_base::sync_with_stdio(0);cin.tie(0);
    int n;
    cin>>n;
    long long sum[200001];
    long long ans=0;
    int a;
    cin>>a;
    sum[1]=a;
    for(int i=2;i<=n;++i){
        cin>>a;
        sum[i]=sum[i-1]+a;
        ans+=a*sum[i-1];
    }
    cout<<ans;
    return 0;
}

题目 2681: 矩形拼接

  • 题目描述

    已知 3 个矩形的大小依次是 a1 × b1, a2 × b2 和 a3 × b3。用这 3 个矩形能拼出的所有多边形中,边数最少可以是多少?例如用 3 × 2 的矩形(用 A 表示)、4 × 1 的矩形(用 B 表示)和 2 × 4 的矩形(用 C 表示)可以拼出如下 4 边形。

    蓝桥杯2022年第十三届省赛真题矩形拼接1

    例如用 3 × 2 的矩形(用 A 表示)、3 × 1 的矩形(用 B 表示)和 1 × 1 的矩形(用 C 表示)可以拼出如下 6 边形。

    蓝桥杯2022年第十三届省赛真题矩形拼接2

  • 输入格式

    输入包含多组数据。

    第一行包含一个整数 T,代表数据组数。

    以下 T 行,每行包含 6 个整数 a1, b1, a2, b2, a3, b3,其中 a1, b1 是第一个矩形的边长,a2, b2 是第二个矩形的边长,a3, b3 是第三个矩形的边长。

  • 输出格式

    对于每组数据,输出一个整数代表答案。

  • 样例输入

    2
    2 3 4 1 2 4
    1 2 3 4 5 6
  • 样例输出

    4
    6
  • 提示

    对于 10% 的评测用例,1 ≤ T ≤ 5,1 ≤ a1, b1, a2, b2, a3, b3 ≤ 10,a1 = a2 = a3。

    对于 30% 的评测用例,1 ≤ T ≤ 5,1 ≤ a1, b1, a2, b2, a3, b3 ≤ 10。

    对于 60% 的评测用例,1 ≤ T ≤ 10,1 ≤ a1, b1, a2, b2, a3, b3 ≤ 20。

    对于所有评测用例,1 ≤ T ≤ 1000,1 ≤ a1, b1, a2, b2, a3, b3 ≤ 100。

  • 题解

#include<bits/stdc++.h>
using namespace std;
int a[3][2];
int main()
{
	int T;
	cin >> T;
	while (T--)
	{
		//输入三个矩形的长和宽
		for (int i = 0; i < 3; i++)
			cin >> a[i][0] >> a[i][1];
		int ans = 8;	//完全不匹配时的答案为8
		for (int i = 0; i < 3; i++)	//枚举第一个矩形
			for (int j = 0; j < 3; j++)
				if (i != j)	//枚举第二个矩形
					for (int k = 0; k < 3; k++)
						if (i != k && j != k)	//枚举第三个矩形
							for (int ii = 0; ii <= 1; ii++)			//枚举第一个矩形的长宽
								for (int jj = 0; jj <= 1; jj++)		//枚举第二个矩形的长宽
									for (int kk = 0; kk <= 1; kk++)	//枚举第三个矩形的长宽
									{
										//第一个矩形的长等于后两个矩形的长之和
										if (a[i][ii] == a[j][jj] + a[k][kk])
										{
											ans = min(ans, 6);
											//后面两个矩形的宽相等
											if (a[j][1 - jj] == a[k][1 - kk])
												ans = min(ans, 4);
										}
										//至少有一个矩形的长和第一个矩形的长相等
										if (a[i][ii] == a[j][jj] || a[i][ii] == a[k][kk])
											ans = min(ans, 6);
										//三个矩形的长全部相等
										if (a[i][ii] == a[j][jj] && a[i][ii] == a[k][kk])
											ans = min(ans, 4);
									}
		cout << ans << endl;
	}
	return 0;
}

题目 2665: 选数异或

  • 题目描述

    给定一个长度为 n 的数列 A1, A2, · · · , An 和一个非负整数 x,给定 m 次查询, 每次询问能否从某个区间 [l,r] 中选择两个数使得他们的异或等于 x 。

  • 输入格式

    输入的第一行包含三个整数 n, m, x 。

    第二行包含 n 个整数 A1, A2, · · · , An 。

    接下来 m 行,每行包含两个整数 li ,ri 表示询问区间 [li ,ri ] 。

  • 输出格式

    对于每个询问, 如果该区间内存在两个数的异或为 x 则输出 yes, 否则输出 no。

  • 样例输入

    4 4 1
    1 2 3 4
    1 4
    1 2
    2 3
    3 3
  • 样例输出

    yes
    no
    yes
    no
  • 提示

    显然整个数列中只有 2, 3 的异或为 1。

    对于 20% 的评测用例,1 ≤ n, m ≤ 100;

    对于 40% 的评测用例,1 ≤ n, m ≤ 1000;

    对于所有评测用例,1 ≤ n, m ≤ 100000 ,0 ≤ x < 2的20次方 ,1 ≤ li ≤ ri ≤ n , 0 ≤ Ai < 2的20次方。 

  • 题解

#include<bits/stdc++.h>
using namespace std;
int main(void){
    ios_base::sync_with_stdio(0);cin.tie(0);
    int n,m,x;
    cin>>n>>m>>x;
    int arry[100002];
    unordered_map<int,vector<int>> Map; //记录值和所有下标
    vector<vector<int>> ans;
    for(int i=1;i<=n;++i){//O(n)
        cin>>arry[i];
        if(Map.find(arry[i])==Map.end())
            Map[arry[i]]={i};
        else Map[arry[i]].emplace_back(i);
    }
    for(int i=1;i<=n;++i){//O(n*pair)
        if(Map.find(arry[i]^x)!=Map.end()){
            //i 与 Map[arry[i]^x] 这俩位置可以异或为x
            int temp=arry[i]^x;
            for(int j=0;j<Map[temp].size();++j){
            //由于答案是成对出现的,这里肯定会出现重复,但是不一定对称
                ans.push_back({min(i,Map[temp][j]),max(i,Map[temp][j])});
            }
        }
    }
    while(m--){
        int left,right;
        cin>>left>>right;
        bool flag=true;
        for(int j=0;j<ans.size();++j){//O(m*pair)
            if(left<=ans[j][0]&&right>=ans[j][1]){
                cout<<"yes"<<'\n';
                flag=false;
                break;
            }
        }
        if(flag)
            cout<<"no"<<'\n';
    }
    return 0;
}

题目 2682: GCD

  • 题目描述

    给定两个不同的正整数 a, b,求一个正整数 k 使得 gcd(a + k, b + k) 尽可能大,其中 gcd(a, b) 表示 a 和 b 的最大公约数,如果存在多个 k,请输出所有满足条件的 k 中最小的那个。 

  • 输入格式

    输入一行包含两个正整数 a, b,用一个空格分隔。 

  • 输出格式

    输出一行包含一个正整数 k。

  • 样例输入

    5 7
  • 样例输出

    1
  • 提示

    对于 20% 的评测用例,a < b ≤ 10的5次方 ;
    对于 40% 的评测用例,a < b ≤ 10的9次方 ;
    对于所有评测用例,1 ≤ a < b ≤ 10的18次方 。

  • 题解

#include<iostream>
using namespace std; 
 
int main()
 
{
    long long a,b,c,d;
 
    cin>>a>>b;
 
    if(a>b){
        long long t=a;
        a=b;
        b=t;
    }
    c=b-a;
    d=a/c;
 
    if(a%c) 
        d++;
 
    cout<<d*c-a<<endl;
    return 0;
} 

题目 2667: 青蛙过河

  • 题目描述

    小青蛙住在一条河边,它想到河对岸的学校去学习。小青蛙打算经过河里的石头跳到对岸。

    河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上。不过,每块石头有一个高度,每次小青蛙从一块石头起跳,这块石头的高度就会下降 1,当石头的高度下降到 0 时小青蛙不能再跳到这块石头上(某次跳跃后使石头高度下降到 0 是允许的)。

    小青蛙一共需要去学校上 x 天课,所以它需要往返 2x 次。当小青蛙具有一个跳跃能力 y 时,它能跳不超过 y 的距离。

    请问小青蛙的跳跃能力至少是多少才能用这些石头上完 x 次课。

  • 输入格式

    输入的第一行包含两个整数 n, x,分别表示河的宽度和小青蛙需要去学校的天数。请注意 2x 才是实际过河的次数。

    第二行包含 n − 1 个非负整数 H1, H2, · · · , Hn-1,其中 Hi > 0 表示在河中与小青蛙的家相距 i 的地方有一块高度为 Hi 的石头,Hi = 0 表示这个位置没有石头。

  • 输出格式

    输出一行,包含一个整数,表示小青蛙需要的最低跳跃能力。

  • 样例输入

    5 1
    1 0 1 0
  • 样例输出

    4
  • 提示

    由于只有两块高度为 1 的石头,所以往返只能各用一块。第 1 块石头和对岸的距离为 4,如果小青蛙的跳跃能力为 3 则无法满足要求。所以小青蛙最少需要 4 的跳跃能力。 

    对于 30% 的评测用例,n ≤ 100;

    对于 60% 的评测用例,n ≤ 1000;

    对于所有评测用例,1 ≤ n ≤ 10的5次方 , 1 ≤ x ≤ 10的9次方 , 1 ≤ Hi ≤ 10的4次方。

  • 题解

#include <iostream>
#include <cstring>
#include <algorithm>
#include <stack>
using namespace std;
typedef long long LL;
typedef pair<int,int>pii;
const int mod = 1e9 + 7 , INF = 0x3f3f3f3f , N = 1e5 + 10;
 
int n,m;
int a[N];
 
bool check(int x)
{
    // 如果所有长度为x的区间都大于等于m ,则true
    int s = 0;
    
    for (int i = 1 ; i <= min(n - 1,x) ; i ++)
        s += a[i];
        
    if (s < m)
        return false;
    for (int i = x + 1; i <= n - 1; i ++)
    {
        s -= a[i - x];
        s += a[i];
        if (s < m)
            return false;
    }
    
    return s >= m;
}
 
int main()
{
    cin >> n >> m;
    m *= 2;
    for (int i = 1 ; i <= n - 1 ; i ++)
        cin >> a[i];    
    int l = 0,r = n;
    
    while (l < r)
    {
        int mid = l + r >> 1;
        if (check(mid))
            r = mid;
        else
            l = mid + 1;
    }
    
    cout << r << endl;
    
}

题目 2683: 因数平方和

  • 题目

  •  题解

import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
 
public class Test {
 
    public static void main(String[] args) { new Test().run(); }
 
    void run() {
        DateTimeFormatter date = DateTimeFormatter.ofPattern("MMdd");
        DateTimeFormatter time = DateTimeFormatter.ofPattern("HHmm");
        LocalDateTime start = LocalDateTime.of(0000, 01, 01, 00, 00);
        LocalDateTime end = LocalDateTime.of(0000, 12, 31, 23, 59);
        int[] buff = new int[128];
        int ans = 0;
        for (; start.compareTo(end) <= 0; start = start.plusMinutes(1)) {
            for (char i = '0'; i <= '9'; ++i) buff[i] = 0;
            for (byte b : start.format(date).getBytes()) ++buff[b];
            boolean flag1 = true, flag3 = true;
            for (char i = '0'; i <= '9'; ++i)
                if (buff[i] == 1) flag1 = false;
                else if (buff[i] == 3) flag3 = false;
            if (flag1 || flag3) continue;
            for (byte b : start.format(time).getBytes()) --buff[b];
            for (char i = '0'; i <= '9'; ++i)
                if (buff[i] != 0) flag1 = true;
            if (!flag1) ++ans;
        }
        System.out.println(4 * ans);
    }
}

题目 2668: 最长不下降子序列

  • 题目

  •  题解
package leetcode板块;

import java.util.Arrays;
import java.util.Scanner;

public class _题目2668蓝桥杯2022年第十三届省赛真题_最长不下降子序列 {
    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        // 现在你有一次机会,将其中【连续的 K 个数】 修改成 【任意一个相同值】。
        // 请你计算如何修改可以使修改后的数列的最长不下降子序列最长,请输出这个最长的长度。
        // TODO 最长不下降子序列是指序列中的一个子序列,子序列中的每个数不小于在它之前的数。
        /*
            对于所有评测用例,1 ≤ K ≤ N ≤ 10^5,1 ≤ Ai ≤ 10^6。
         */
        Scanner scanner = new Scanner(System.in);
        //  长度为 N  , 将其中连续的 K 个数修改成任意一个相同值
        int N = scanner.nextInt();
        int K = scanner.nextInt();
        int arrA [] = new int[N];
        for (int i = 0; i<N;i++){
            arrA[i] = scanner.nextInt();
        }
        scanner.close();
        // 重点 :  LNDS:longest non-decreasing subsequence
        int initLNDS = computeLNDS(arrA);
        int maxLNDS = initLNDS;
        // ----------------------------------------------
        for (int i = 0; i <= N-K;i++){
            int [] original = Arrays.copyOfRange(arrA,i,i+K);
            int uniqueVals [] = Arrays.stream(arrA).distinct().toArray();
            for (int value : uniqueVals){
                for (int j = i;j<i+K;j++){
                    arrA[j] = value;
                }
                int modifiedLNDS = computeLNDS(arrA);
                maxLNDS = Math.max(maxLNDS,modifiedLNDS);
            }
            System.arraycopy(original,0,arrA,i,K);
        }
        System.out.println(maxLNDS);
    }

    /**
     *
     * @param array
     * @return
     */
    private static int computeLNDS(int[] array) {
        int [] dp_computeLNDS = new int[array.length];
        int length = 0;
        for (int num : array){
            int pos = Arrays.binarySearch(dp_computeLNDS,0,length,num);
            if (pos < 0){
                pos = -(pos + 1);
            }
            dp_computeLNDS[pos] = num;
            if (pos == length){
                length++;
            }
        }
        return length;
    }
}

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

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

相关文章

2024普通高校大学生竞赛

2024年A类竞赛(全国普通高校大学生竞赛)目录 结合A类竞赛目录选择一些大学高质量竞赛 大学生竞赛 大学生竞赛中国国际大学生创新大赛ACM-ICPC国际大学生程序设计竞赛中国大学生计算机设计大赛中国高校计算机大赛蓝桥杯全国软件和信息技术专业人才大赛百度之星程序设计大赛全国…

2016年国赛高教杯数学建模A题系泊系统的设计解题全过程文档及程序

2016年国赛高教杯数学建模 A题 系泊系统的设计 近浅海观测网的传输节点由浮标系统、系泊系统和水声通讯系统组成&#xff08;如图1所示&#xff09;。某型传输节点的浮标系统可简化为底面直径2m、高2m的圆柱体&#xff0c;浮标的质量为1000kg。系泊系统由钢管、钢桶、重物球、…

KDD 2024论文分享┆STAMP:一种基于时空图神经网络的微服务工作负载预测方法

论文分享简介 本推文详细介绍了一篇最新论文成果《Integrating System State into Spatio Temporal Graph Neural Network for Microservice Workload Prediction》&#xff0c;论文的作者包括&#xff1a;上海交通大学先进网络实验室: 罗旸、高墨涵、余哲梦&#xff0c;高晓沨…

gh-ost

优质博文&#xff1a;IT-BLOG-CN 一、gh-ost的作用 gh-ost是由Github提供的Online DDL工具&#xff0c;使用binlog代替之前的触发器做异步增量数据同步&#xff0c;从而降低主库负载。 基于触发器的Online DDL工具原理&#xff1a; 【1】根据原表结构执行alter语句&#xff…

抖音矩阵系统源码搭建,矩阵系统贴牌,矩阵工具开源

1. 抖音短视频矩阵系统 抖音短视频矩阵系统&#xff0c;是指通过抖音平台&#xff0c;以矩阵的形式进行短视频创作、发布和传播的一种模式。它以多样化的内容、丰富的表现形式、高度的专业化和协同性&#xff0c;吸引了大量用户和创作者的关注。 2. 短视频矩阵系统的优势 2.1 …

从技术打磨到产品验证:读《程序员修炼之道》的务实之道

在编程世界里&#xff0c;技术的打磨往往像是工匠雕琢作品&#xff0c;但若无法转化为产品的成功&#xff0c;所有的精致都不过是空中楼阁。读《程序员修炼之道》时&#xff0c;我深刻意识到&#xff0c;务实不仅仅是技术的选择&#xff0c;更是产品迭代和商业模式成功的关键。…

C# .net6 开发数据采集软件(一)

功能&#xff1a; 数据采集&#xff1a;采集任务 数据分析&#xff1a;数据可视化 其他功能&#xff1a;数据上传、数据下拉、软件更新 软件设置&#xff1a;PLC配置、任务配置、软件配置、可视化配置 更多功能&#xff1a;其他软件的入口&#xff0c;或者小工具的使用。比…

打印机无法打印是怎么回事_打印机无法打印多种解决方法

打印机无法打印是怎么回事&#xff1f;我们在使用打印机的时候&#xff0c;可能会遇到打印机无法打印的问题&#xff0c;该问题原因有很多。下面小编就教大家打印机无法打印多种解决方法。 打印机无法打印多种解决方法&#xff1a; 打印机无法打印解决方法一&#xff1a;纸张问…

iOS 超强插件注入神器,Trollfools迎来二次进化

长期以来&#xff0c;注入插件是越狱iPhone的专利。对巨魔玩家来说&#xff0c;越狱用户是如同“上游供应链”一样的存在。 很多增强版的APP&#xff0c;其实都是越狱玩家制作、分享的。直到Trollfools诞生&#xff0c;才彻底扭转了这一现状。 Trollfools是什么&#xff1f;简…

吴津雨银洁刘雅雯获得国际超模大赛四川总决赛网络组三甲

9月8日众人期盼已久的都江堰杯2024国际超模大赛四川总决赛在三遗之城都江堰落下帷幕。国际超模大赛已经举办第12个年头&#xff0c;每年为时尚界、模特界输送无数的优秀时尚模特人才&#xff0c;让世界超模中出现更多的中国面孔。大赛在全球已经布局多个国家及地区&#xff0c;…

攻防世界---->Windows_Reverse1

学习笔记。 前言&#xff1a;不会&#xff0c;代码越简洁&#xff0c;越难受 T ^ T 下载 查壳。 UPX脱壳。 此题脱壳后的程序&#xff0c;是不能运行的。 网上wp&#xff0c;说是因为作者采用了ASLR(地址随机化) 解决方法&#xff1a;一&#xff1a;用XP运行调试。 方法二&a…

基于单片机汽车驾驶防瞌睡防疲劳报警器自动熄火设计

文章目录 前言资料获取设计介绍功能介绍设计程序具体实现截图设计获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对…

【算法竞赛】栈

栈的特点是"先进后出"。 栈在生活中的原型有:坐电梯,先进电梯的被挤在最里面,只能最后出来&#xff1b;一管泡腾片,最先放进管子的药片位于最底层&#xff0c;最后被拿出来。 栈只有唯一的出入口,从这个口进入,也从这个口弹出,这是它与队列最大的区别。 队列有一个入…

李宏毅机器学习2023HW12—Reinforcement Learning强化学习

文章目录 TaskBaselineSimpleMedium Baseline—Policy GradientStrong Baseline——Actor-CriticBoss Baseline—Mask Task 实现深度强化学习方法: Policy GradientActor-Critic 环境&#xff1a;月球着陆器 Baseline Simple 定义优势函数(Advantage function)为执行完ac…

传统到AI 大数据分析的演变,颠覆智慧水电的未来?

传统到AI 大数据分析的演变&#xff0c;颠覆智慧水电的未来&#xff1f; 前言传统到AI 大数据分析的演变 前言 水电作为一种重要的能源形式&#xff0c;一直在我们的生活中扮演着至关重要的角色。而如今&#xff0c;随着科技的飞速发展&#xff0c;智慧水电和 AI 大数据应用的…

服务器安全,你必须知道的六个知识点

服务器安全 如今没有什么是安全的。各种系统安全漏洞的数量呈爆炸式增长。令人担忧的主要原因之一是服务器安全性。 接下来&#xff0c;就如何提升服务器安全&#xff0c;写几点见解。 虽然很多企业在服务器的安全性方面做了足够多&#xff0c;但是&#xff0c;黑客仍然能够…

Java项目实战II基于Java+Spring Boot+MySQL的卓越导师双选系统设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者 一、前言 在当今高等教育环境中&#xff0c;师生之间的有效沟通与匹配对于促进学生发展、提升教学质量至关重要…

蓝桥杯—STM32G431RBT6(ADC数模转换,从原理到应用)

一、什么是ADC&#xff1f; ADC&#xff08;Analog-to-Digital Converter&#xff09;即模数转换器。它是一种将模拟信号转换为数字信号的电子器件。在电子系统中&#xff0c;ADC 起着至关重要的作用&#xff0c;它能将连续变化的模拟量&#xff08;如电压、电流等&#xff09;…

openstack中的rabbitmq

基本概念 基础介绍 exchange&#xff1a;用于分发信息&#xff0c;有direct、fanout、topic、headers&#xff1b; binding&#xff1a;exchange、queue之间的虚拟连接&#xff0c;由一个或者多个routing key组成&#xff1b; queues&#xff1a;用来暂存消息&#xff0c;供…

【工具】Windows|两款开源桌面窗口管理小工具Deskpins和WindowTop

总结 Deskpins 功能单一&#xff0c;拖到窗口上窗口就可以置顶并且标记钉子标签&#xff0c;大小 104 KB&#xff0c;开源位置&#xff1a;https://github.com/thewhitegrizzli/DeskPins/releases WindowTop 功能完善全面强大&#xff0c;包括透明度、置顶、选区置顶等一系列功…