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

R7-19 天梯赛团队总分

“天梯赛”的竞赛题目一共有 15 道,分为 3 个梯级:

基础级设 8 道题,其中 5 分、10 分、15 分、20 分的题各 2 道,满分为 100 分;题目编号相应为L1-X,X取1,2,3,4,5,6,7,8,分别表示基础级的8道题,如L1-1表示基础级的第1题。

进阶级设 4 道题,每道题 25 分,满分为 100 分;题目编号相应为L2-X,X取1,2,3,4,分别表示进阶级的4道题,如L2-2表示进阶级的第2题。

登顶级设 3 道题,每道题 30 分,满分为 90 分。题目编号相应为L3-X,X取1,2,3,分别表示登顶级的3道题,如L3-2表示登顶级的第2题。

注:若对以上表述仍有不理解或者不清楚的,则请参考本套考题的题号与分值。

在我们校赛中,积分规则和正式天梯赛积分规则有些许不同,校赛的积分规则简化后如下:

参赛者须独立按照严格的输入输出要求提交每一题的解题程序。程序须经过若干测试用例的测试,每个测试用例分配一定分数。每题的得分为通过的测试用例得分之和;整场比赛得分为各题得分之和。程序可反复提交,取最高分,提交错误不扣分。
参赛者的个人总分由每题得分和先锋奖励组成。只有当该队员的基础题总分超过 60 分时,其进阶部分的题目分数(包括奖励)才被判为对其个人有效;当其进
阶题总分超过 25 分时,其登顶部分的题目分数(包括奖励)才被判为对其个人有效。
当一支参赛团队的基础题总分超过 300 分时,该队进阶部分的题目分数才被判为对团队有效;只有当其进阶题总分超过 125 分时,该队登顶部分的题目分数才被判为对团队有效。
校赛中每个参赛团队由5名参赛者组成。
注:基础题是默认有效的。对个人/团队无效得分的部分视为0分。

团队的基础题总分为所有队员在基础题的得分总和;

团队的进阶题总分为所有队员在进阶题的得分总和;

团队的登顶题总分为所有队员在登顶题的得分总和。

当队员在进阶题或登顶题的得分对个人来说是无效时,但是这部分仍然计入团队进阶题和登顶题得分,只有当团队基础题得分/进阶题得分达到了进阶条件,团队的进阶题得分/登顶题得分才能被判定为对团队有效。

在竞赛的过程中你和你的队友都如此沉迷,以至于你们都忘记看实时榜单,比赛结束后你们只能通过提交记录计算你们团队每个人的得分以及团队总得分。具有团队精神的你想要亲自编写程序来解决这个问题。

天梯赛是善良的,同一道题你可以多次提交,该题最终得分为多次提交的最高分(参考样例1)。

若有些题没有提交记录,即该题记做0分。

同样因为一股神秘力量(可能来自参赛团队本身 只有自己团队的提交记录),本题不考虑先锋奖励。

输入格式:
输入第一行给出一个非负整数N(0<=N<200),表示提交记录的数量。

接下来N行,每行给出一条提交记录的详细情况,其格式为:队员编号 题目编号 分数。你们队员的编号依次为1,2,3,4,5。

题目保证所有的提交记录只有你们团队的记录,不会出现其他队伍的记录;同时,同一道题可能有多次提交。

输出格式:
一共输出6行。

第1行输出团队总得分。

接下来5行输出团队5个人每个人的成绩,按总分由高到低的顺序。若总分相同,则优先输出编号较小者。

输入样例1:

5
1 L1-1 5
1 L1-1 3
1 L1-1 4
1 L1-1 2
1 L1-1 1

输出样例1:

5
1 5
2 0
3 0
4 0
5 0

输入样例2:

22
1 L1-8 20
1 L1-7 20
1 L1-6 15
1 L1-5 15
2 L1-8 20
2 L1-7 20
2 L1-6 15
2 L1-5 15
3 L1-8 20
3 L1-6 15
3 L1-5 15
4 L1-8 20
4 L1-7 20
4 L1-6 15
4 L1-5 15
4 L1-4 10
4 L1-3 10
1 L1-4 10
1 L1-3 10
1 L1-2 5
5 L2-1 25
5 L2-2 25

输出样例2:

355
1 95
4 90
2 70
3 50
5 0

样例解释2:
5号队员虽然进阶题得到50分,但是他基础题得分为0,所以,对于5号队员个人来说,他的最后总得分为0;对于整个团队来说,团队的基础题部分得分为305,达到了进阶条件;5号选手在进阶部分的得分可以计入团队的进阶部分得分,所以团队最后的总得分为355。接下来请继续你的快乐作答!

模拟题,如果用C++可以在结构体内初始化,自己另写初始化或者分开为多个全局数组也可

#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <cstring>
#include <tuple>
#include <cstdlib>
#include <cmath>
#define int long long
#define IOS {std::ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);}
#define end(x) {cout<<x<<endl;return;}
#define endy {cout<<"YES\n";return ;}
#define endn {cout<<"NO\n";return ;}
using namespace std;
void solve();
inline bool cmp(int a,int b);typedef pair<int,int> PII;const int N = 2*1e5+10;
const int null = 0x3f3f3f3f;
struct node {int i;int ti[4*8+10]={0};int ji=0,jin=0,deng=0;int jiang1=0,jiang2=0;int sum=0;
};inline bool cmpnx(node a,node b);
inline bool cmpni(node a,node b);string s;char ch;int n,m,q,i,j,k,x;double d;float f;//int a[N],b[N],h[N];inline bool cmp(int a,int b){return a>b;}
inline bool cmpn(node a,node b){return a.sum>b.sum;}int sum=0;
int sum_deng=0,sum_jin=0;
void solve(){cin>>n;node a[5+1];for(i=1;i<=n;i++){int fen;cin>>x>>s>>fen;a[x].ti[(s[1]-'0')*8+s[3]-'0']=max(fen,a[x].ti[(s[1]-'0')*8+s[3]-'0']);}for(i=1;i<=5;i++){a[i].i=i;for(j=8+1;j<=8+8;j++)a[i].sum+=a[i].ti[j];sum+=a[i].sum;if(a[i].sum>60)for(j=2*8+1;j<=2*8+4;j++)a[i].sum+=a[i].ti[j],a[i].jin+=a[i].ti[j];//,sum_jin+=a[i].ti[j];for(j=2*8+1;j<=2*8+4;j++)sum_jin+=a[i].ti[j];if(a[i].jin>25)for(j=3*8+1;j<=3*8+3;j++)a[i].sum+=a[i].ti[j],a[i].deng+=a[i].ti[j];//,sum_deng+=a[i].ti[j];for(j=3*8+1;j<=3*8+3;j++)sum_deng+=a[i].ti[j];//sum_jin+=a[i].jin;//sum_deng+=a[i].deng;}int ans=sum+sum_jin+sum_deng;if(sum<=300){ans-=sum_jin;sum_jin=0;}if(sum_jin<=125)ans-=sum_deng;cout<<ans<<'\n';stable_sort(a+1,a+5+1,cmpn);for(i=1;i<=5;i++)cout<<a[i].i<<' '<<a[i].sum<<'\n';}signed main(){//IOSint _=1;//cin>>_;while(_--)solve();return 0;
}

相关文章:

R7-19 天梯赛团队总分

“天梯赛”的竞赛题目一共有 15 道&#xff0c;分为 3 个梯级&#xff1a; 基础级设 8 道题&#xff0c;其中 5 分、10 分、15 分、20 分的题各 2 道&#xff0c;满分为 100 分&#xff1b;题目编号相应为L1-X&#xff0c;X取1,2,3,4,5,6,7,8&#xff0c;分别表示基础级的8道题…...

使用 Kotlin 的 Opt-in (选择加入)功能注解API提示当前非稳定API

前言 之前在给公司项目封装库的时候&#xff0c;领导告诉我封装的漂亮一点&#xff0c;等以后公司发展起来了可能需要把这个库提供给第三方接入使用。 此时&#xff0c;就有这么一个问题&#xff1a;某些功能函数使用条件比较苛刻&#xff0c;直接使用可能会出现意想不到的后…...

webpack配置排除打包

webpack配置排除打包 思路 打包时&#xff0c;不要把类似于element-ui第三方的这些包打进来 从网络上&#xff0c;通过url地址直接引入这些包 操作 &#xff08;1&#xff09;先找到 vue.config.js&#xff0c; 添加 externals 项&#xff0c;具体如下&#xff1a; config…...

HNU-操作系统OS-ucoreLab系列-感悟

谨以此片篇,献给熬夜的8个晚上,以及逝去的时光。 感悟: 今天结束了所有的Lab实验(2023.6.3),感慨万千。 喜是这个实验终于结束了,悲是其实有好多地方我都没有理解。 应该指出,由于验收的助教学长学姐们的宽容,HNU实际上在验收这一块的要求还是比较低的。 但是这个…...

MySQL运维篇(三)

五.读写分离 5.1 介绍 读写分离,简单地说是把对数据库的读和写操作分开,以对应不同的数据库服务器。主数据库提供写操作&#xff0c;从数据库提供读操作&#xff0c;这样能有效地减轻单台数据库的压力。 通过MyCat即可轻易实现上述功能&#xff0c;不仅可以支持MySQL&#x…...

Lecture 2 Text Preprocessing

目录 Some DefinitionsReasons for PreprocessingPreprocessing StepsSentence Segmentation 句子分割Binary Classifier 二元分类器Word Tokenization: English 英文词元标记化Word Tokenization: Chinese 中文词元标记化Word Tokenization: German 德语词元标记化Subword Tok…...

web练习第二周

前言&#xff1a;&#xff08;博主个人学习笔记&#xff0c;不用看&#xff09;web练习第二周&#xff0c;仅做出前3题。相比于第一周&#xff0c;难度大幅增加&#xff0c;写题时就算看了wp还是像个无头苍蝇一样到处乱创&#xff0c;大多都是陌生知识点&#xff0c;工具的使用…...

LC-1439. 有序矩阵中的第 k 个最小数组和(二分答案、多路归并)

1439. 有序矩阵中的第 k 个最小数组和 难度困难120 给你一个 m * n 的矩阵 mat&#xff0c;以及一个整数 k &#xff0c;矩阵中的每一行都以非递减的顺序排列。 你可以从每一行中选出 1 个元素形成一个数组。返回所有可能数组中的第 k 个 最小 数组和。 示例 1&#xff1a;…...

一文1000字从0到1实现Jenkins+Allure+Pytest的持续集成

一、配置 allure 环境变量 1、下载 allure是一个命令行工具&#xff0c;可以去 github 下载最新版&#xff1a;https://github.com/allure-framework/allure2/releases 2、解压到本地 3、配置环境变量 复制路径如&#xff1a;F:\allure-2.13.7\bin 环境变量、Path、添加 F:\…...

给一个有序数组生成平衡搜索二叉树(java)

给一个有序数组生成平衡搜索二叉树 给一个有序数组生成平衡搜索二叉树递归生成二叉树专题 给一个有序数组生成平衡搜索二叉树 给定一个有序的数组,用这个数组生成一个平衡搜索二叉树. 这个题还是很简单的,知道什么时平衡搜索二叉树就行了, 左边值小于头节点值,头节点值小于右边…...

【JavaSE】Java基础语法(二十二):包装类

文章目录 1. 基本类型包装类2. Integer类3. 自动拆箱和自动装箱4. int和String类型的相互转换 1. 基本类型包装类 基本类型包装类的作用 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常用的操作之一&#xff1a;用于基本数据类型与字符串之间的…...

javascript基础十八:说说你对JavaScript中事件循环的理解​

一、是什么 JavaScript 在设计之初便是单线程&#xff0c;即指程序运行时&#xff0c;只有一个线程存在&#xff0c;同一时间只能做一件事 为什么要这么设计&#xff0c;跟JavaScript的应用场景有关 JavaScript 初期作为一门浏览器脚本语言&#xff0c;通常用于操作 DOM &#…...

详解js中的浅拷贝与深拷贝

详解js中的浅拷贝与深拷贝 1、前言1.1 栈&#xff08;stack&#xff09;和堆&#xff08;heap&#xff09;1.2 基本数据类型和引用数据类型1.2.1 概念1.2.2 区别1.2.3 基本类型赋值方式1.2.4 引用类型赋值方式 2、浅拷贝2.1 概念2.2 常见的浅拷贝方法2.2.1 Object.assign()2.2.…...

Day9 敏捷测试——敏捷开发的特征、什么是敏捷测试?、极限编程、极限测试

Day9 敏捷测试——敏捷开发的特征、什么是敏捷测试?、极限编程、极限测试 文章目录 Day9 敏捷测试——敏捷开发的特征、什么是敏捷测试?、极限编程、极限测试敏捷开发的特征1、迭代式开发2、增量交付3、及时反馈4、持续集成5、自我管理敏捷开发和迭代式开发的根本区别1、性质…...

k8s 维护node与驱逐pod

1.维护node节点 设置节点状态为不可调度状态&#xff0c;执行以下命令后&#xff0c;节点状态会多出一个SchedulingDisabled的状态&#xff0c;即新建的pod不会往该节点上调度&#xff0c;本身存在node中的pod保持正常运行 kubectl cordon k8s-node01 kubectl get node 2.驱…...

SouapUI接口测试之创建性能测试

SouapUI也是一个能生动的体现一个系统&#xff08;项目&#xff09;性能状态的工具&#xff0c;本篇就来说说如何在SouapUI工具下创建性能测试 一、创建测试用例 由于在《SouapUI接口测试之使用Excel进行参数化》篇已经创建好了测试用例&#xff0c;本篇就不讲解如何创建测试…...

springboot整合kafka入门

kafka基本概念 producer&#xff1a; 生产者&#xff0c;负责发布消息到kafka cluster(kafka集群)中。生产者可以是web前端产生的page view&#xff0c;或者是服务器日志&#xff0c;系统CPU、memory等。 consumer&#xff1a; 消费者&#xff0c;每个consumer属于一个特定的c…...

Rust 笔记:Rust 语言中的字符串

Rust 笔记 Rust 语言中的字符串 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/detail…...

华为OD机试真题 Java 实现【将真分数分解为埃及分数】【牛客练习题】

一、题目描述 分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。 注:真分数指分子小于分母的分数,分子和分母有可能gcd不为1! 如有多个解,请输出任意一个。 二、输入描述 输…...

Zemax Lumerical | 二维光栅出瞳扩展系统优化

简介 本文提出并演示了一种以二维光栅耦出的光瞳扩展&#xff08;EPE&#xff09;系统优化和公差分析的仿真方法。 在这个工作流程中&#xff0c;我们将使用3个软件进行不同的工作 &#xff0c;以实现优化系统的大目标。首先&#xff0c;我们使用 Lumerical 构建光栅模型并使用…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...