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

2022年团体程序设计天梯赛-总决赛

目录

一、L1-1 今天我要赢

二、L1-2 种钻石

三、L1-3 谁能进图书馆

四、L1-4 拯救外星人

五、L1-5 试试手气

六、L1-6 斯德哥尔摩火车上的题

七、L1-7 机工士姆斯塔迪奥

八、L1-8 静静的推荐

九、L2-1 插松枝

十、L2-2 老板的作息表

十一、L2-3 龙龙送外卖

十二、L2-044 大众情人

一、L1-1 今天我要赢

#include <bits/stdc++.h>
using namespace std ;
int main()
{cout << "I'm gonna win! Today!" << endl ;cout << "2022-04-23" ;return 0 ;
}

二、L1-2 种钻石

#include <bits/stdc++.h>
using namespace std ;
int main()
{int n , v ;cin >> n >> v ;cout << n / v ;return 0 ;
}

三、L1-3 谁能进图书馆

比较简单,思路保持清晰即可,判断能独自进去的->都不能进去->两个人都可以进但不是必须一起的(再分是谁带谁)->一个人能进一个不能(再分是1、2哪个能进)

#include <bits/stdc++.h>
using namespace std ;
int main()
{int n , m , a , b ;cin >> n >> m >> a >> b ;if(a >= n && b >= n){printf("%d-Y %d-Y\n" , a , b ) ;printf("huan ying ru guan") ;}else if(a < n && b < n){printf("%d-N %d-N\n" , a , b ) ;printf("zhang da zai lai ba") ;}// 两个人都可以进但不是必须一起的// b带a else if(a < n && b >= m){printf("%d-Y %d-Y\n" , a , b ) ;printf("qing 2 zhao gu hao 1") ;}// a 带belse if(a >= m && b < n){printf("%d-Y %d-Y\n" , a , b ) ;printf("qing 1 zhao gu hao 2") ;} // 如果一个人能进一个不能// a能进去else if(a >= n && b < n){printf("%d-Y %d-N\n" , a , b ) ;printf("1: huan ying ru guan") ;} // b能进去else if(a < n && b >= n){printf("%d-N %d-Y\n" , a , b ) ;printf("2: huan ying ru guan") ;}  return 0 ;
}

四、L1-4 拯救外星人

算阶乘,记得开 long long

#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int N = 1e3 + 24 ;int main()
{ll a , b , ans = 1 , i , j ;cin >> a >> b ;for(i = 1 ; i <= a+b ; i ++){ans *= i ;}cout << ans ;return 0 ;
}

五、L1-5 试试手气

这道题很有趣,用了一个标记数组v[][], v[i][a[i]]-> 第i个位置a[i]这个数是否已经出现过,如果出现了就a[i]--,因为始终要在条件的限制下保持最大。

网上还有另一种做法,我有点理解不了,我感觉自己这个还不错,比较好理解哈哈

#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int N = 1e3 + 24 ;
int a[10] ;
int v[10][10] ; // 标记 
int main()
{int n , i , j ;for(i = 1 ; i <= 6 ; i ++)  {cin >> a[i] ;v[i][a[i]] = 1 ;a[i] = 6 ;}cin >> n ;while(n --){for(i = 1 ; i <= 6 ; i ++){while(v[i][a[i]] == 1)  a[i] -- ;v[i][a[i]] = 1 ;}}for(i = 1 ; i <= 6 ; i ++){if(i > 1)  cout << " " ;cout << a[i] ;}return 0 ;
}

六、L1-6 斯德哥尔摩火车上的题

这道题题目意思很明确,一步一步来就行

#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int N = 1e4 + 24 ;
char s1[N] , s2[N] ;  // 原字符串
char a[N] , b[N] ; // 存储结果字符串 
int main()
{int i , j , len1 , len2 , cnt1 = 0 , cnt2 = 0 ;cin >> s1 ;getchar() ;cin >> s2 ;len1 = strlen(s1) , len2 = strlen(s2) ;//先计算 s1 的结果  -> a[cnt1] for(i = 1 ; i < len1 ; i ++){if((s1[i]-'0') % 2 == (s1[i-1]-'0') % 2){a[cnt1++] = max(s1[i] , s1[i-1]) ;}} //计算 s2 的结果  -> b[cnt2] for(i = 1 ; i < len2 ; i ++){if((s2[i]-'0') % 2 == (s2[i-1]-'0') % 2){b[cnt2++] = max(s2[i] , s2[i-1]) ;}}bool flag = true ;if(cnt1 != cnt2){flag = false ; // 不一样 }else{for(i = 0 ; i < cnt1 ; i ++){if(a[i] != b[i]){flag = false ; // 不一样break ; }}}if(flag) //一样 {cout << a ; }else // 不一样 {cout << a << endl ;cout << b ;}return 0 ;
}

七、L1-7 机工士姆斯塔迪奥

很喜欢暴力,不用动脑子真好

#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int N = 1e3 + 24 ;int main()
{int n , m , q , t , c , ans = 0 , i , j ;cin >> n >> m >> q ;int a[n][m] ;memset(a , 0 ,sizeof(a)) ;while(q --){cin >> t >> c ;if(t == 0) // 行 {for(i = 0 ; i < m ; i ++){a[c-1][i] = 1 ;} }else if(t == 1) // 列 {for(i = 0 ; i < n ; i ++){a[i][c-1] = 1 ;} }}for(i = 0 ; i < n ; i ++){for(j = 0 ; j < m ; j ++){if(a[i][j] == 0)  ans ++ ;}}cout << ans ;return 0 ;
}

八、L1-8 静静的推荐

#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int N = 1e4 + 24 ;
int num[250] ; // 某个分数出现了几次 int main()
{int n , k , s , cnt = 0 , n1 , n2 ;cin >> n >> k >> s ;while(n --){cin >> n1 >> n2 ;if(n1 >= 175){if(n2 >= s)  cnt ++ ;else{num[n1] ++ ;if(num[n1] <= k)  cnt ++ ;}}}cout << cnt ;return 0 ;
}

九、L2-1 插松枝

这题我得研究一下,有个案例始终过不了...

十、L2-2 老板的作息表

结构体排序,时间从小到大,没有就填上,注意首尾

#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int N = 1e5 + 24 ;
int num[250] ; // 某个分数出现了几次 
struct point{string first , last ;
}p[N];
bool cmp(point x , point y)
{return x.first < y.first ;
}
int main()
{int n , i , j ;cin >> n ;string temp ;for(i = 0 ; i < n ; i ++){cin >> p[i].first >> temp >> p[i].last ;}sort(p , p+n , cmp) ;temp = "-1" ;for(i = 0 ; i < n ; i ++){if(temp == "-1")  // 第一个是从00:00:00开始的,特判一下 {if(p[i].first != "00:00:00"){cout << "00:00:00 - " << p[i].first << endl ;} temp = p[i].last ;  // 更新 }else{if(p[i].first != temp){cout << temp << " - " << p[i].first << endl ;}temp = p[i].last ;}}if(temp != "23:59:59")  cout << temp << " - 23:59:59" ; // 最后23:59:59结尾,特判 return 0 ;
}

十一、L2-3 龙龙送外卖

等我再研究研究...

十二、L2-044 大众情人

#include <bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int N = 5e2 + 24 , M = 1e9 + 24 ;
int g[N][N] ;
int sex[N] , d[N];
int main()
{int n , i , j , k , w ;char c ;cin >> n ;// 初始化距离 for(i = 1 ; i <= n ; i ++){for(j = 1 ; j <= n ; j ++){if(i == j)  g[i][j] = 0 ;else  g[i][j] = M ;}}for(i = 1 ; i <= n ; i ++){cin >> c ;  // 性别if(c == 'F')  sex[i] = 1 ; // 女生为1else if(c == 'M')  sex[i] = 2 ; // 男生为2cin >> k ;while(k --){scanf("%d:%d" , &j , &w) ;g[i][j] = w ; //i这个人对该朋友j的距离感} }// 用佛洛依德求最小距离for(k = 1 ; k <= n ; k ++){for(i = 1 ; i <= n ; i ++){for(j = 1 ; j <= n ; j ++){g[i][j] = min(g[i][j] , g[i][k]+g[k][j]) ;}}} // 求异性中对i的最大值for(i = 1 ; i <= n ; i ++){for(j = 1 ; j <= n ; j ++) //  {// 首先j得是i的异性,在所有异性中找出j到i的最大值即g[j][i],而不是i到j的 if(sex[i] != sex[j])  d[i] = max(d[i] , g[j][i]) ;}} // 找女、男中的大众情人对应的d距离,即最小值int d1 = M , d2 = M ; // d1->女,d2->男for(i = 1 ; i <= n ; i ++){if(sex[i] == 1)  d1 = min(d1 , d[i]) ;if(sex[i] == 2)  d2 = min(d2 , d[i]) ;} // 女大众情人int cnt = 0 ;for(i = 1 ; i <= n ; i ++){if(d[i] == d1 && sex[i] == 1){cnt ++ ;if(cnt > 1)  cout << " " ;cout << i ;}}cout << endl ;// 男大众情人cnt = 0 ;for(i = 1 ; i <= n ; i ++){if(d[i] == d2 && sex[i] == 2){cnt ++ ;if(cnt > 1)  cout << " " ;cout << i ;}}return 0 ;
} 

真的很讨厌难题,剩下的明天再写

相关文章:

2022年团体程序设计天梯赛-总决赛

目录 一、L1-1 今天我要赢 二、L1-2 种钻石 三、L1-3 谁能进图书馆 四、L1-4 拯救外星人 五、L1-5 试试手气 六、L1-6 斯德哥尔摩火车上的题 七、L1-7 机工士姆斯塔迪奥 八、L1-8 静静的推荐 九、L2-1 插松枝 十、L2-2 老板的作息表 十一、L2-3 龙龙送外卖 十二、L…...

大数据技术之Sqoop——SQL to Hadoop

一、简介sqoop &#xff08;sql to hadoop&#xff09;是一款开源的工具,主要用于在 Hadoop&#xff08;Hive&#xff09;与传统的数据库&#xff08;mysql、postgresql...&#xff09;间进行数据的传递&#xff0c;可以将一个关系型数据库&#xff08;例如 : MSQL,Oracle,Post…...

Java议题

序号议题 解释MyBatis官网1mapper文件中什么时候使用 # 什么时候必须用 $ 1、关键字作为参数&#xff0c;使用"$"&#xff0c;两边不加""。 2、非关键字作为参数&#xff0c;使用"#"防注入。 其他情况优先使用"#" 2主键回填&#xff0…...

【阅读论文】USAD:多变量时间序列上的无监督异常检测

USAD : UnSupervised Anomaly Detection on Multivariate Time Series 摘要 IT系统的自动监控是Orange目前面临的挑战。考虑到其IT运营所达到的规模和复杂性&#xff0c;随着时间的推移&#xff0c;用于推断正常和异常行为的测量所需的传感器数量急剧增加&#xff0c;使得传统…...

Java多线程:ReentrantLock中的方法

公平锁与非公平锁 ReentrantLock有一个很大的特点&#xff0c;就是可以指定锁是公平锁还是非公平锁&#xff0c;公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的&#xff0c;而非公平锁就是一种获取锁的抢占机制&#xff0c;是随机获得锁的&#xff0c;先来的未必就一…...

RabbitMQ初识快速入门

RabbitMQ初识&快速入门1.初识MQ1.1.同步和异步通讯1.1.1.同步通讯1.1.2.异步通讯1.2.技术对比&#xff1a;2.快速入门2.1.安装RabbitMQ2.1.1 下载镜像2.1.2 安装MQ2.2.RabbitMQ消息模型2.3.导入Demo工程2.4.入门案例2.4.1.publisher实现2.4.2.consumer实现2.5.总结1.初识MQ…...

由浅入深了解HashMap源码

由经典面试题引入&#xff0c;讲解一下HashMap的底层数据结构&#xff1f;这个面试题你当然可以只答&#xff0c;HashMap底层的数据结构是由&#xff08;数组链表红黑树&#xff09;实现的&#xff0c;但是显然面试官不太满意这个答案&#xff0c;毕竟这里有一个坑需要你去填&a…...

P5318 【深基18.例3】查找文献

题目描述 小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个&#xff08;也有可能没有&#xff09;参考文献的链接指向别的博客文章。小K 求知欲旺盛&#xff0c;如果他看了某篇文章&#xff0c;那么他一定会去看这篇文章的参考文献&#xff08;如果他之前已经看过这篇参考…...

Error caught was: No module named ‘triton‘

虽然报错但是不影响程序运行&#xff1a; A matching Triton is not available, some optimizations will not be enabled. Error caught was: No module named triton解决&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple triton2.0.0.dev20221120...

Ruby设计-开发日志

Log 1 产品 Product 1.1 创建 Product 创建名为 project 的 rails 应用 rails new project创建 Product 模型 rails generate scaffold Product title:string description:text image_url:string price:decimal这会生成一个 migration &#xff0c;我们需要进一步修改这个…...

SpringBoot 调用外部接口的三种方式

方式一&#xff1a;使用原始httpClient请求 /** description get方式获取入参&#xff0c;插入数据并发起流程* params documentId* return String*/ RequestMapping("/submit/{documentId}") public String submit1(PathVariable String documentId) throws ParseE…...

C 中的结构体

C 中的结构体 C 数组允许定义可存储相同类型数据项的变量&#xff0c;结构是 C 编程中另一种用户自定义的可用的数据类型&#xff0c;它允许您存储不同类型的数据项。 结构体中的数据成员可以是基本数据类型&#xff08;如 int、float、char 等&#xff09;&#xff0c;也可以…...

nodejs安装教程

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时&#xff0c;可以用于在服务器端运行 JavaScript 代码。以下是 Node.js 的安装教程&#xff1a; 步骤 1&#xff1a;下载 Node.js 访问 Node.js 的官方网站 https://nodejs.org/&#xff0c;进入官方下载页面。 在下载页…...

【华为OD机试】1029 - 整数与IP地址间的转换

文章目录一、题目&#x1f538;题目描述&#x1f538;输入输出&#x1f538;样例1二、代码参考作者&#xff1a;KJ.JK&#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x…...

【FPGA实验1】FPGA点灯工程师养成记

对于FPGA几个与LED相关的实验&#xff08;包括按键点灯、流水灯、呼吸灯等&#xff09;的记录&#xff0c;方便日后查看。这世界上就又多了一个FPGA点灯工程师了&#x1f60f; 成为一个FPGA点灯工程师分三步&#xff1a;一、按键点灯1、按键点灯程序2、硬件实现二、流水灯1、流…...

操作系统论文导读(三):Stack-based scheduling of realtime processes基于堆栈的实时进程调度

目录 一、论文核心思想&#xff1a; 二、基本的相关条件 作业运行的条件&#xff1a; 作业抢占其他作业的条件&#xff1a; 三、基本的相关定义 四、基本的相关调度 五、基本的相关调度 六、堆栈资源共享 七、与PCP的比较 一、论文核心思想&#xff1a; -引入了一个抢占优…...

音频延时测试方法与实现

音频延时测试方法有以下几种 1、使用专业的测试设备&#xff0c;通过专业的音频测试仪器可以准确测量音频延时&#xff0c;如常见声学分析仪、信号发生器、声卡Smaart&#xff08;介绍测试延时方法链接&#xff1a;https://blog.csdn.net/weixin_48408892/article/details/1273…...

在 Python 中管理机密的四种方法

我们生活在一个应用程序用于做任何事情的世界&#xff0c;无论是股票交易还是预订沙龙&#xff0c;但在幕后&#xff0c;连接是使用秘密完成的。必须适当管理机密&#xff0c;例如数据库密码、API 密钥、令牌等&#xff0c;以避免任何泄露。 管理机密的需求对任何组织都至关重…...

全国青少年信息素养大赛Python编程挑战赛初赛试题说明

Python 编程挑战赛初赛采用线上考试比赛形式,分为小学组和初中组。不同组别的考核重难点略有不同,考核内容主要是 Python 基础知识,共 30 题,均为单选题,具体考核如下: 小学组考核内容主要是 Python 基础知识,包括输入输出,变量,条件结构,计次循环和无限循环,海龟库…...

无需魔法打开即用的 AI 工具集锦

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;蚂蚁集团高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《EffectiveJava》独家解析》专栏作者。 热门文章推荐…...

微信小程序集成AI能力:调用LFM2.5-1.2B-Thinking-GGUF实现智能聊天与内容生成

微信小程序集成AI能力&#xff1a;调用LFM2.5-1.2B-Thinking-GGUF实现智能聊天与内容生成 1. 为什么要在小程序里集成AI 微信小程序作为轻量级应用平台&#xff0c;用户使用门槛低、传播效率高。但传统小程序功能相对单一&#xff0c;缺乏智能化交互体验。通过集成LFM2.5-1.2…...

UE5 - 动态材质与电子围栏:ArchvizExplorer与Map Border Collection的深度整合

1. 动态材质与电子围栏的完美结合 在UE5的建筑可视化项目中&#xff0c;电子围栏效果常常需要与场景动态交互。ArchvizExplorer作为建筑可视化利器&#xff0c;配合Map Border Collection的边界功能&#xff0c;能创造出令人惊艳的动态围栏效果。我最近在一个商业综合体项目中实…...

视频硬字幕提取终极指南:用本地AI工具10倍提升你的字幕制作效率

视频硬字幕提取终极指南&#xff1a;用本地AI工具10倍提升你的字幕制作效率 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区域检测…...

Open UI5 源代码解析之740:SearchManager.js

源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.f\src\sap\f\SearchManager.js SearchManager.js 深度解析:在 openUI5 中的职责、机制与落地价值 文件定位与总体判断 这个文件定义了一个名为 sap.f.SearchManager 的类。它位于 sap.f 库路径下,却明…...

dexcount-gradle-plugin最佳实践:提升Android应用性能的10个技巧

dexcount-gradle-plugin最佳实践&#xff1a;提升Android应用性能的10个技巧 【免费下载链接】dexcount-gradle-plugin A Gradle plugin to report the number of method references in your APK on every build. 项目地址: https://gitcode.com/gh_mirrors/de/dexcount-grad…...

保姆级教程:用YOLOv5和ReID搞定跨摄像头找人(附完整代码和预训练模型)

跨摄像头人物追踪实战&#xff1a;YOLOv5与ReID技术深度整合指南 在智能安防、零售分析等场景中&#xff0c;跨摄像头追踪特定人物一直是个技术难点。传统方案要么依赖单一摄像头的目标检测&#xff0c;要么需要复杂的人工特征标注。本文将手把手带您实现一套基于YOLOv5目标检测…...

Jetson Orin Nano上YOLOv8训练避坑实录:从CUDA报错到ONNX导出,我的踩坑与修复指南

Jetson Orin Nano上YOLOv8训练避坑实录&#xff1a;从CUDA报错到ONNX导出实战指南 在边缘计算设备上部署深度学习模型总是充满挑战&#xff0c;特别是当硬件架构与主流x86平台存在差异时。Jetson Orin Nano作为NVIDIA最新的边缘AI计算平台&#xff0c;其ARM架构和独特的CUDA核心…...

App启动总览

特征 / 步骤 冷启动 (Cold Start) 温启动 (Warm Start) 热启动 (Hot Start) 速度 最慢 🐢 中等 🏃 最快 🚀 进程创建 ✅ 需要 ❌ 跳过 ❌ 跳过 Application.onCreate() ✅ 需要调用 ❌ 跳过 ❌ 跳过 Activity.onCreate() ✅ 需要调用 ✅ 需要调用 ❌ 跳过 Activity.onSta…...

UUID和Name不在同一条BLE广播报文里

概要通过在命令行窗口打印部分报文信息&#xff0c;发现&#xff1a;设备向外发送BLE蓝牙低功耗广播&#xff0c;设备的UUID和Name不在同一条广播报文里UUID是通用唯一标识符一、设备1、发送报文的设备能够发送BLE蓝牙低功耗广播的设备。本篇使用的是周围环境中的未知设备。2、…...

IBM Rhapsody 9.0.2 配置与编译问题解决指南

1. IBM Rhapsody 9.0.2环境配置常见问题解析 第一次接触IBM Rhapsody 9.0.2时&#xff0c;我遇到了不少配置上的坑。这个强大的系统建模工具虽然功能全面&#xff0c;但在环境搭建阶段确实需要特别注意几个关键点。最典型的问题就是Visual Studio版本兼容性&#xff0c;这也是大…...