2018 CCCC L1 001 天梯赛座位分配

天梯赛座位分配(20 分) C++ STL 强解 ps. 好伤心的时候,没有朋友的安慰,也只有默默的敲着代码,期待着有一天能遇见。天梯赛座位分配(20 分)天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校... 阅读详情

天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的队伍还没有分配座位,则需要安排他们的队员隔位就坐。本题就要求你编写程序,自动为各校生成队员的座位号,从 1 开始编号。

输入格式:

输入在一行中给出参赛的高校数 N (不超过100的正整数);第二行给出 N 个不超过10的正整数,其中第 i 个数对应第 i 所高校的参赛队伍数,数字间以空格分隔。

输出格式:

从第 1 所高校的第 1 支队伍开始,顺次输出队员的座位号。每队占一行,座位号间以 1 个空格分隔,行首尾不得有多余空格。另外,每所高校的第一行按“#X”输出该校的编号X,从 1 开始。

输入样例:

3
3 4 2

输出样例:

#1
1 4 7 10 13 16 19 22 25 28
31 34 37 40 43 46 49 52 55 58
61 63 65 67 69 71 73 75 77 79
#2
2 5 8 11 14 17 20 23 26 29
32 35 38 41 44 47 50 53 56 59
62 64 66 68 70 72 74 76 78 80
82 84 86 88 90 92 94 96 98 100
#3
3 6 9 12 15 18 21 24 27 30
33 36 39 42 45 48 51 54 57 60


自己感觉还行的操作——赛后用指针做了一遍( •̀ ω •́ )✧
比赛的时候想复杂了…直接计算每个编号的位置,将编号插入到表里,最后按顺序输出就行了。需要考虑同一个学校的必须隔一个位置:可以使用一个变量来标志,当两个编号满足连续坐的时候,就把后一个编号设为前一个加2,而且一旦出现连续坐,这个学校后面所有编号一定都是连续的,全部依次更新为前一个加2就行了。

#include<stdio.h>

int data[100000];//存放所有数据
int *gx[101];//记录每个学校的数据存放的起点
int idx[101] = { 0 };//配合学校起点指针使用,可以维护任何一个学校的任何一个人的编号
int team[101] = { 0 };//每个学校的人数
int ngx = 0;//学校个数

int main() {
    scanf("%d", &ngx);
    gx[0] = data;//初始化数据起点gx[0]为指针data
    for (int i = 1; i <=ngx; ++i) {
        scanf("%d", &team[i]);
        gx[i] = gx[i-1] + team[i]*10;//为第i个学校空出team[i]*10的空间
        //学校i的数据存放在gx[i-1]~g[i]的范围内,长度为team[i]*10
    }
    //开始按顺序标上编号
    int fns=0;//结束的标志
    for (int i=1;fns==0;) {//从1开始编号,记录在i当中
        fns = 1;//初始化为已结束
        for (int id=1;id<=ngx;++id) {//每个学校轮流添加一个编号

            if (gx[id-1]+idx[id]<gx[id]) { //如果在区间范围内就增添
                *(gx[id-1]+idx[id]) = i; 
                ++i; idx[id]++; 
                fns = 0;//有增添说明未结束
            }
        }
        //如果无增添说明结束,此时fns==1
    }
    //将所有编号顺序输出
    int lxz = 0;//一个学校的学生是否连续坐
    for (int i=0,*id =gx[0]; id < gx[ngx]; ++id,++i) {
        //检测当前是否在一个学校的开头
        for (int tit = 0; tit < ngx; ++tit) 
            if (id == gx[tit]) { //如果是就打印学校编号
            lxz = 0; //连续坐的同学一定持续到下一个学校的起点
            printf("#%d\n", tit + 1); break; 
            }

        if (*id == *(id - 1) + 1 && id > gx[0]) {//检测到连续坐
            lxz = 1;
        }
        //在连续坐的情况下,相隔必须是2
        if (lxz == 1)*id = *(id - 1) + 2;
            printf("%d", *id);
        if ((i + 1) % 10 == 0)printf("\n"); else printf(" ");

    }
}
华为HPLC模组全拆解之电力载波收发原理分析 电力线载波通信(PLC)是一种使用电力线进行数据传输的通信技术,即利用现有电网作为信号的传输介质,使电网在传输电力的同时可以进行数据传输。目前根据所用频段的不同,低压电力线载波通信一般分为窄带电力线载波通信(10KHz~500KHz)和宽带电力线载波通信(2MHz~20MHz)。这里的频率可以简单理解为单片机串口的通信波特率,频率越小通信速度越慢,频率越大通信速度越快。为了研究电力载波通信原理,笔者以华为的一款宽带电力载波模组为例进行详细的分析,该模组主控采用的是海思芯片,型号为Hi3921EV100。 阅读详情

相关推荐

从零开始!在 Windows 上安装与配置 Dify

这篇博客将详细介绍如何在 Windows 系统上部署 Dify,适合零基础用户。从 Docker 和 WSL 的安装配置开始,逐步指导用户设置 Git、Docker 环境以及 Dify 配置文件,解决可能遇到的端口冲突等问题,最终完成 Dify 的启动和测试。通过简明易懂的步骤,帮助用户在本地成功运行 Dify,实现模型供应商配置,让 Dify 项目在 Windows 平台上顺利上线。

qq_49035156的博客 5万+

2018CCCC天梯赛整理

L1-049. 天梯赛座位分配 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… ...

小博客 5881

Grok-1.5+Ollama企业级本地化部署与合规实践指南

本文详细介绍了Grok-1.5+Ollama企业级本地化部署与合规实践指南,重点分析了本地化部署的成本优势和数据主权保障。通过RTX 4090显卡的硬件选型、Ubuntu 22.04系统优化及部署流程中的关键陷阱规避,为企业提供了高效、安全的AI模型部署方案。特别适合金融、医疗等敏感行业。

weixin_29094539的博客 181

L1- 001——008

L1-001 Hello World (5 分) 这道超级简单的题目没有任何输入。 你只需要在一行中输出著名短句“Hello World!”就可以了。 输入样例: 无 输出样例: Hello World! public class Main { public static void main(String[] args) { System.out.println("...

galesaur_wcy 602

【目标检测】yoloV5算法详解

一、与yoloV4相比,yoloV5的改进 输入端:在模型训练阶段,使用了Mosaic数据增强、自适应锚框计算、自适应图片缩放 基准网络:使用了FOCUS结构和CSP结构 Neck网络:在Backbone和最后的Head输出层之间插入FPN_PAN结构 Head输出层:训练时的损失函数GIOU_Loss,预测筛选框的DIOU_nns 二、yoloV5结构框架 CBL:CBL模块是由Conv+BN+Leaky_relu激活函数组成 Res unit:借鉴ResNet中的残差结构,用来构建深层网络,CBM是

qq_40373651的博客 2万+

气象大模型光伏功率预测中的应用:从短期,超短期,中长期的实现与开源代码详解

本文详细介绍了基于大模型的光伏功率预测方法,涵盖超短期(15分钟-1小时)、短期(1-6小时)和中长期(1天-1周)预测。文章首先讨论了数据准备与预处理,包括历史功率、气象、天文和电站特性数据的收集与特征工程。随后,针对不同预测需求,提出了多种深度学习模型:超短期预测采用1DCNN-LSTM混合模型,短期预测使用Transformer模型,中长期预测则通过多尺度特征提取模型和概率预测方法处理不确定性。文章还提供了模型训练、评估、部署和优化的完整流程,并开源了代码实现。未来研究方向包括结合数值天气预报、开发时

专注AI大模型,软件混淆,授权 1570

2017-4-18 CCCC决赛总结

首先,感谢嵩神和可神的指导(ps:如果不是看了群我也不会写这个的,真的不是不知道感恩,因为我以为总结的重点在比赛啊)。其实他们说了那么多,也有说怎样练acm,也有说找工作考研,我印象最深的其实是嵩神不经意的一句:你觉得痛苦紧张才是正常的,如果你觉得舒服了反而应该恐慌了。曾经我也秉持着相似的态度,但慢慢对自己就松懈了,回来之后我经常用这句话提醒自己,希望可以找回这种态度。   对于比赛来说,决赛仍

sheng4204的博客 1532

在Ubuntu上安装Node.js编程

在Ubuntu操作系统上安装Node.js是非常简单的,本文将为您提供详细的安装步骤。这是一个简单的Node.js HTTP服务器示例,它将在本地主机的端口3000上监听请求,并返回"Hello, World!npm是Node.js的包管理器,您可以使用它来安装和管理Node.js模块。您已成功在Ubuntu上安装了Node.js,并创建并运行了一个简单的Node.js应用程序。现在,您已经成功安装了Node.js和npm,让我们创建一个简单的Node.js应用程序并运行它。如有任何疑问,请随时提问。

CodeNexus的博客 3524

18年CCCC赛后总结

C4赛后总结: 我正式入坑以来,大约5个月,这也是我第一次出去参与这样正式的比赛,其实比赛结果并不尽人意,但有很多还是需要记录下来的,通过这次比赛的确获得了很多的比赛经验; 一赛前: 其实赛前的状态,可以说是很不好了,原定的赛前两周的准备,一周去南湖工程实习,一周为了5月底的CCPC一直疲于各项事宜,赛前情绪应该控制好; 二比赛:   比赛刚开始时,一切都很顺利,比赛时长3个从小时,1:...

weixin_34187822的博客 614

【系统架构设计师-2023年真题】综合知识-答案及详解

要实现多任务间的协同工作,操作系统必须提供任务间的通信手段。嵌入式操作系统一般都会提供多任务间通信的方法,其中()是任务间最直接、最明显的通信方法,也是访问共享的数据结构,即不同的任务都可以访问同一地址空间。()作为一种更高级的通信方式,能够在同一处理器的各个任务间传递任意长度(理论上只受物理内存和机器字长限制)的信息。(1)A. 共享内存 B. Socket C. 消息传递 D. 信号量(2)A. 共享内存 B. Socket C. 消息传递 D. 信号量【答案】A、C关于星型拓扑结构,下列说法正确的是(

数据知道的博客 1万+

PCL 基于法向距离的对应点获取

提出了一种基于法向量欧氏距离的点云配准方法。详细推导了法向量距离计算公式,并给出具体计算流程。在代码实现部分,采用PCL库完成了点云法向量计算和对应关系估计,通过可视化验证了算法有效性。实验结果表明,该方法能够准确获取点云间的对应关系,为后续点云配准奠定了基础。

点云侠的博客 226

L1-049天梯赛座位分配

L1-049天梯赛座位分配 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的队伍还没有分配座位,则需要安排他们的队员隔位就坐。本题就要求你编写程序,自动为各校生

qq_43738331的博客 2490

提取游戏音频文件.bnk

bnk其实是一种对音频的加密方式,一个.bnk文件中通常包含了多个语音文件,一般可以使用Wwise-Unpacker来解码.bnk格式文件该工具命名没有规律,需要手动整理文件名。市面上很多的游戏都把音频文件打成.bnk文件(比如永劫无间),用这种方式可以将你想要的游戏的音频都提取出来,本文内容仅供自己娱乐。

类人_猿的博客 8746

2018天梯赛_L1-049. 天梯赛座位分配

传送门 思路:模拟模拟(⊙﹏⊙)。 #include&lt;bits/stdc++.h&gt; using namespace std; const int N=105; int a[N]; int f[N]; vector&lt;int&gt; stk[N]; int main () { int n; scanf("%d",&amp;n); int sum=0,index=0...

yyy_3y的博客 1048

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

CCCC GPLT L1

CCCC GPLT L1

Owen_Q的博客 626

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ccccccccccc+++++

抽象包括数据抽象和控制抽象任何一个数据类型包括值域(domain)和操作抽象数据类型(abstract data type)(ADT)给出数据类型的定义公有成员函数类成员包含两种。1.数据成员 【静态属性】,一般是私有的2.成员函数(函数成员)【动态行为】,一般是公有的私有的类成员(如数据成员)只能被成员函数或友元函数访问,而客户端代码无法访问。类的范围:成员函数可以访问另外的成员(数据成员或成员函数),不论它们放在什么位置。进行类操作用. (成员选择操作符)调用。

Irisgeek的博客 3267

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

L1-001 Hello World - java

L1-001 Hello World 时间限制 400 ms 内存限制 64 MB 题目描述: 这道超级简单的题目没有任何输入。 你只需要在一行中输出著名短句“Hello World!”就可以了。 输入样例: 无 输出样例: Hello World! emmmmmmm import java.io.*; import java.math.*; import java.util.*; public class Main { public static void main(String[] args

谢谢 啊sir的博客 892

L1-049 天梯赛座位分配

从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员……用结构体存变量team、vecto数组,用team存学校有多少队伍 用vector存该学校成员,dis存成员之间的间隔,rest存剩余多少学校还没排满,m为座位号。每个学校成员一共有是s[i].team*10个人,当未满是时就往数组中放入m,m+=dis座位号为公差为1开始递增,当还差1个就满了的时候,rest--(下一进行push_back就满啦)。从第 1 所高校的第 1 支队伍开始,顺次输出队员的座位号。

m0_62504956的博客 417

PAT L1-049. 天梯赛座位分配

题目链接:https://www.patest.cn/contests/gplt/L1-049L1-049. 天梯赛座位分配时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i]...

moonlight的博客 6288

酷睿i7 8750h相当于什么水平 i78750h属于什么级别

其实i7-8750H的实际性能和第八代桌面级i5-8400是不分上下的,所以的游戏本搭载i7-8750H和i5-8400的差价并不大,如果买了这两个U的本子,建议一步到起码上个GTX10606G,内存的能上16G最好,不能的话8G也够对付。六核十二线程,主频2.20GHz对于大多数游戏来说是没问题的,当然这里说的不是光秃秃的CPU带游戏,既然应用在游戏本上,那么一定有显卡的帮助,这里说的应付游戏只是游戏对于CPU性能的考验是足够的!i78750h是笔记本CPU,相当于i510300h处理器。...

m0_55791341的博客 2万+

L1-1 Hello World

L1-1. Hello World 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 这道超级简单的题目没有任何输入。 你只需要在一行中输出著名短句“Hello World!”就可以了。 AC代码: #includ

LzyRapX 1913

L1-049. 天梯赛座位分配

L1-049. 天梯赛座位分配时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选...

小龙的博客 8013

L1-049 天梯赛座位分配 (20 分)(循环技巧)

天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的...

cherish_lin的博客 4267

L1-049 天梯赛座位分配 (20 分)

L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队...

galesaur_wcy 2812

2018天梯赛 L1-1【天梯赛座位分配】

L1-1 天梯赛座位分配(20 分) 先挂上题目链接~https://www.patest.cn/contests/gplt/L1-049 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的...

gq__97的博客 1430

天梯座位分配

天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的...

海马有力量的博客 1001
上一篇: 2018 CCCC天梯赛 L2 04 秀恩爱分得快
下一篇: codeforces 915 D Almost Acyclic Graph
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值