首页 > 其他分享 >L1-049 天梯赛座位分配

L1-049 天梯赛座位分配

时间:2024-03-13 11:15:05浏览次数:24  
标签:pre cnt 049 号码 int 天梯 L1 c1 分配

测试点1提交了好多次,都没过去。找网上那些测试点输出结果是一样的,但就是过不去。
然后认真思考了一番,自己可能没理解好这道题。
我的理解错误在于,认为在最大的时候,号码应该是这一队的上一个人号码加上2。
实际上,只有上一个号码和他在同一队的时候,才这么干。如果不是同一队,依旧是加上1。
真是巨大的错误。
然后,我加了pre来记录上一个号码分配给了哪一队,然后在这一次分配的时候去判断。
这个问题就解决了。

#include <bits/stdc++.h>
using namespace std;
int a[200][1000],c1[200];//a[k][j]表示第k只队伍第j个位置的号码号是什么 
int main(){
    //c1[i]:第i只队伍人数 
	int n,tmp,maxv=0;
	cin >> n;
	for(int i=0;i<n;i++){
		cin >> tmp;
		c1[i]=tmp*10;
		maxv=max(maxv,c1[i]);
	} 
    int pre=0;
	//模拟分配座位号 
	int cnt=1;
	//cnt为当前手里拿着的座位号码 
	for(int j=0;j<maxv;j++){//j是索引值 
		for(int k=0;k<n;k++){//n第几只队伍
			if(j<c1[k]){
                if(pre==k&&j>=1){
                    a[k][j]=a[k][j-1]+2;
                }else{
				    a[k][j]=cnt;
				    cnt++;
                }
                pre=k;
			}
		}
	}
	//如果最后只剩下 1 所学校的队伍还没有分配座位,则需要安排他们的队员隔位就坐
	for(int i=0;i<n;i++){
		cout<<"#"<<(i+1)<<'\n';
		for(int j=1;j<=c1[i];j++){
			cout << a[i][j-1];
			if(j%10==0||j==c1[i]) cout << '\n';
			else cout << " ";
		}
	}
	return 0;
}

标签:pre,cnt,049,号码,int,天梯,L1,c1,分配
From: https://www.cnblogs.com/chengyiyuki/p/18070175

相关文章

  • SMU 2024 spring 天梯赛1
    SMU2024spring天梯赛17-1种钻石查看代码voidsolve(){intn,v;cin>>n>>v;cout<<n/v;} 7-21-1输出金字塔图案查看代码 voidsolve(){cout<<"*\n""***\n""*****\n"......
  • L1-046 整除光棍
    模拟竖式除法。最好在纸上写一写,111/13,1111/13,1111/13。每次结果的余数后面加一个1就相当于是在被除数后面加了一个1.还有,a数组要开的足够大。#include<bits/stdc++.h>usingnamespacestd;intmain(){ intn,single=1; cin>>n; intcnt=1;//1有多少位 while(single<......
  • 计算机与人工智能学院 天梯赛选拔 2024.3.12
    L1L1-1直接输出可以,C++可能比较麻烦一点,Python和Java都有块形字符串,语法"""我是字符串!""",再不济直接PHP复制粘贴也行!由于代码过长,这里不再展示原版,不过你可以玩玩别的hhpackageGPLT_test;/***@Title:L1*@Author李浩天*@Date2024/3/128:21......
  • OMAP-L138 + FPGA开发板(Pin-To-Pin国产FPGA)
    XQ138F-EVM是广州星嵌电子科技有限公司基于TIOMAP-L138(定点/浮点DSPC674x+ARM9)+FPGA处理器研制的开发板;OMAP-L138选用TI德州仪器的TMS320C6748+ARM926EJ-S异构双核处理器,主频456MHz,高达3648MIPS和2746MFLOPS的运算能力;FPGA采用中科亿海微eHiChip6家族EQ6......
  • L1-043 阅览室
    不知道出题人是不是有那个大病。应该是测试点1,如果多次借,按照最后一次,多次还,按第一次。注意四舍五入。还有就是getchar()把空格读了。还有时间全换成了分钟60*小时+分钟。#include<bits/stdc++.h>usingnamespacestd;intmain(){ inta[1003][10]; fill(a[0],a[0]+1003......
  • 代码随想录算法训练营第四十三天 | 474.一和零,● 494. 目标和 ,1049. 最后一块石头的
     1049.最后一块石头的重量II 已解答中等 相关标签相关企业 提示 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,......
  • CentOS8安装postgresql13和postgis
    CentOS8安装postgresql13和postgis这里使用的是8.5.2111操作系统版本,首先解决一下网络源的问题。检验dnf是否能正常使用,顺便安装wgetdnf-yinstallwget 一、安装postgresql131、配置postgresql官网提供的网络源dnfinstall-yhttps://download.postgre......
  • 代码随想录算法训练营第四十三天|● 1049. 最后一块石头的重量 II ● 494. 目标和
    最后一块石头的重量 II 题目链接:1049.最后一块石头的重量II-力扣(LeetCode)思路:尽可能将石头分成重量相近的两堆,结果一定最小,因此问题可以转换为分割子集。dp[i]的含义是背包容量为i的背包能装下的最大重量,由于题目中最大重量是15000,所以我们申请15001的vector。注意,结果不......
  • L1-039 古风排版
    计算出行和列的大小,从最后一列往前填充。#include<bits/stdc++.h>usingnamespacestd;intmain(){ introw; cin>>row; cin.get(); charinput[100][100]; stringcs; getline(cin,cs); intcol=ceil(1.0*cs.size()/row); //cout<<row<<""......
  • Windows Server 2012R2 丢失api-ms-win-crt-runtime-l1-1-0.dll
    在网上搜索了很久,没有现成的帖子可以解决。安装补丁不是提示“一个或多个问题导致了安装失败”就是此更新不适用于你的计算机。最终在微软官网读到补丁安装要遵守一个顺序,在此特地把解决过程分享出来,希望能帮助到苦于搜索的人报错信息 无法启动此程序,因为计算机中丢失api-ms......