今年做出来的题还没去年多,看来是题目质量高了(我又变菜了)。

同步赛地址:文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJB

B题:模块改造

题目描述

ym最近接手了一项新需求:改造项目中的“玩家在线时间展示”模块,在原模块中某个玩家一天中的时间将会被均匀地划分为48块,每块半小时,每个半小时由一个字符来表示在这半小时中玩家是否在线过,且字符要么为0,要么为1,分别代表该玩家不在线和在线的情况。

因此某个玩家一天的在线情况就可以表示为一个由48位字符(字符要么为0,要么为1,第i个字符代表玩家在一天中的第i个半小时中的在线情况)组成的字符串。现在,为了能更直观地表现某个玩家一天中的在线时间,ym需要把这个字符串转化为连续时间段的形式,你能够帮助ym完成这个需求吗?

某个连续时间段由两个时间点和“-”符号组合而成,时间点采用24小时表示法,例如上午10点整到下午2点30分应表示为:“10:00 - 14:30”

如果玩家整天都未上线,那么直接输出“00:00 - 00:00”即可

另外,你需要保证输出的连续时间段数量尽可能少

如果你仍对题面感到疑惑,那么不妨观看一下样例。

输入描述:

输入仅含一行长度为48的01字符串

输出描述:

按时间顺序输出01字符串被转换后的对应玩家在线时间段,每输出一次连续时间段就需要进行一次换行

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网

输入

111000000000000000000000000000000000000000000001

输出

00:00 - 01:30
23:30 - 24:00

解析:签到题,从前往后扫一遍就能出答案。时间复杂度:O(1)。

//#pragma GCC optimize(2)
#include<map>
#include<queue>
#include<stack>
#include<math.h>
#include<vector>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#define ll long long
#define int long long
#define debug cout<<"0_0"<<endl
#define die {cout<<"-1"; return 0;}
#define mst(a,i) memset(a,i,sizeof(a));
#define IOS ios::sync_with_stdio(false);
#define f0(i,b) for(int i=0 ;i<(b) ;i++)
#define f(i,a,b) for(int i=(a) ;i<=(b) ;i++)
#define rp(i,a,b) for(int i=(a) ;i>=(b) ;i--)
#define _for(i,a,b) for(int i=(a) ;i<=(b) ;i++)
#define _rep(i,a,b) for(int i=(a) ;i>=(b) ;i--)
#define sd(a) scanf("%d",&a)
#define slld(a) scanf("%lld",&a)
#define sdd(a,b) scanf("%d %d",&a,&b)
const double eps=1e-8;
const long long INF=1e18;
const int MAX1=1e9;
const double pie=acos(-1.0);
using namespace std;
// 诚信为本,作弊为耻!
char st[1005];
int sh,sm,eh,em,flag=0;
signed main()
{IOSscanf("%s",st);for(int i=0;i<=47;){if(st[i]=='1'){flag=1;sh=i/2;sm=(i%2)*30;while(st[i]=='1' && i<=47) i++;eh=i/2;em=(i%2)*30;printf("%02d:%02d - %02d:%02d\n",sh,sm,eh,em);}elsei++;}if(flag==0)cout<<"00:00 - 00:00";return 0;
}

先去写会作业,一会回来再更_(:з」∠)_

2022年 文远知行杯 GDUT 第十六届程序设计竞赛(同步赛) 部分题解相关推荐

  1. 文远知行杯广东工业大学第十六届程序设计竞赛ABEFHI(记录)

    文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ大学ACM校赛新生赛是面向ACM/ICPC/CCPC/区域赛校队选手,巩固经典专 ...

  2. 文远知行杯广东工业大学第十六届程序设计竞赛(题解)

    文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A:思维题 #include<bits/stdc++.h> usi ...

  3. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解

    "科林明伦杯"哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解 萌新又来写题解啦 原题链接 B 减成一 题意:存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多 ...

  4. 文远知行杯广东工业大学第十六届程序设计竞赛 E爬塔

    题目描述 Alice最近迷上了杀怪爬塔的游戏,在塔中有n层关卡,在通过第i层关卡后Alice会走上第i+1层.每个关卡中可能会获得女神的祝福或者遇到怪物.如果得到女神的祝福,Alice生命值会+1,如 ...

  5. 文远知行杯广东工业大学第十六届程序设计竞赛错题笔记

    目录 官网链接 A 区间最大值 F 一个很大的数 I V字钩爪 官网链接 A 区间最大值 题目描述 长度为 n 的数组 a,下标从1开始,定义 a[i]=n%i 有 m 组询问 {L,R},求 max ...

  6. 文远知行杯广东工业大学第十六届程序设计竞赛 A 区间最大值

    题目链接:https://ac.nowcoder.com/acm/contest/30896/A 题目描述 长度为 n 的数组 a,下标从 1 开始,定义 a [ i ] = n % i a[i]=n ...

  7. 文远知行杯广东工业大学第十六届程序设计竞赛

    A: 长度为 n 的数组 a,下标从1开始,定义 a[i]=n%ia[i]=n \% ia[i]=n%i 有 m 组询问 {L,R},求 maxi=LRa[i]max_{i=L}^{R} a[i]ma ...

  8. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛)---全题目+题解

    文章目录 A.点对最大值 B.减成一 C.面积 D.扔硬币 E.赛马 F.三角形 G.养花 H.直线 I.字典序 J.最大值 A.点对最大值 链接:https://ac.nowcoder.com/ac ...

  9. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) F

    F 三角形 链接:https://ac.nowcoder.com/acm/contest/5758/F 来源:牛客网 小明有一根长度为a的木棒,现在小明想将木棒分为多段(每段木棒长度必须为整数), 使 ...

最新文章

  1. unity中app实现拖拽_10分钟让你实现在APP中对网络状态变化进行全局提示
  2. java 计算器_用Java编写一个简单的计算器
  3. Linux中的软件源详解,Ubuntu Linux 软件源详解
  4. java的类的设计_Java 类设计技巧
  5. 转载 2012年游戏行业人才需求预测
  6. 修改submin的管理员初始密码
  7. 软件测试技术——覆盖方法介绍
  8. FixFox 打包xpi扩展
  9. LeetCode刷题笔记一:(两数之和)
  10. OpenGL学习笔记:GLAD和第一个窗口
  11. 桌面图标小箭头去除方法
  12. 丽思卡尔顿游轮正式加入万豪旅享家旅行计划
  13. Java多线程(学习分享)
  14. 跟美团API对接,以及生成签名,同步数据到数据库
  15. java数组总结及键盘输入方法
  16. 《微机原理及应用》 试题
  17. 凤凰x86无限重启_凤凰系统启动不了,一直在出..................
  18. 周易六十四卦——泽地萃卦
  19. 三个微内核和四个名字的故事
  20. 计算机英语MDD英文全称,欧盟医疗器械指令 mdd 93-42-eec(中英文).pdf

热门文章

  1. linux下的chroot命令详解,linux chroot 命令用法说明
  2. 加点JavaScript魔法
  3. 怎样为Linux内核打补丁(中文版)
  4. 同样是搞IT,年薪 15W 和 50W 到底差在哪里?
  5. linux 创建用户命令
  6. Linux创建文件的五种方法,Linux创建文件的5种方式
  7. oracle知道季度怎么获取季初,第二季度的季初是指哪个月
  8. 手机端访问网页自动跳转至广告页面解决办法
  9. Go语言实现字符串截取
  10. microsoft office visio2007产品密钥