完善程序题 普及篇 2、【NOIP1998】FBZ串问题

2023-11-03 14:50

本文主要是介绍完善程序题 普及篇 2、【NOIP1998】FBZ串问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/* 
完善程序题 普及篇 2、【NOIP1998】FBZ串问题
https://www.cnblogs.com/myeln/articles/16580782.html四、根据题意,补充完善以下程序:(17%)
1.FBZ串问题。已知一个由0,1字符组成的长度为2n的字符串。请按以下规则将已给出的字符串分解为FBZ串:
(1)若其中字符全为'1',则称其为'B'串;
(2)若其中字符全为'0',则称其为'Z'串;
(3)若不全为'0',同时也不全为'1',则称'F'串。若此串为F串,则应将此串分解为2个长为2n-1的子串。
对分解后的子串,仍按以上规则继续分解,直到全部为B串或为Z串为止。
例如n=3时,给出0-1串为:'10111001'最后输出:FFFBZBFFBZFZB
问题:给出01串,分解成FBZ串。
程序如下:
*/ 
01 #include<iostream>
02 #include<cstdio>
03 using namespace std;
04 const int n=8;
05 int i,j,stl1,stl2,st2,s,t;
06 char str1[n*2+1][n+1],str2[44];
07 int main()
08 {
09     for(i=1;i<n*2;++i)
10         for(j=1;j<=n;++j)    str1[i][j]=' ';
11     stl1=1;stl2=1;st2=0;
12     for(i=1;i<=n;++i) str1[1][i]=getchar();
13     while(--1--)
14     {
15         s=0;t=0;
16         for(i=1;i<=n;++i)
17         {
18             if(str1[stl2][i]=='1')    s++;
19             if(str1[stl2][i]=='0')    t++;
20         }
21         if(--2--)
22         {
23             st2++;str2[st2]='B';
24         }
25         else if(s==0)
26         {
27             st2++;str2[st2]='Z';
28         }
29         else
30         {
31             st2++;str2[st2]='F';j=(s+t)/2;
32             for(s=n*2-2;s>=--3--;--s)
33                 for(t=1;t<=n;++t)
34                     str1[s+2][t]=str1[s][t];
35             stl1+=2;
36             for(int i=1;i<=j;++i)
37             {
38                 str1[stl2+1][i]=str1[stl2][i];
39                 str1[stl2+2][i]=--4--;
40             }
41             for(int i=--5--;++i)
42             {
43                 str1[stl2+1][i]=' ';str1[stl2+2][i]=' ';
44             }
45         }
46         stl2++;
47     }
48     for(int i=1;i<=st2;++i)    printf("%c",str2[i]);
49     return 0;
50 }

 完善程序题 普及篇 2、【NOIP1998】FBZ串问题

https://www.cnblogs.com/myeln/articles/16580782.html


 CSP初赛课1-计算机发展史

CSP初赛课1-计算机发展史_哔哩哔哩_bilibili

初赛课2-信息存储与网络

初赛课2-信息存储与网络_哔哩哔哩_bilibili

CSP初赛课3-数学和数据结构

CSP初赛课3-数学和数据结构_哔哩哔哩_bilibili

CSP初赛课4-数据结构+排序

CSP初赛课4-数据结构+排序_哔哩哔哩_bilibili

CSP初赛课5-语言基础与阅读程序

CSP初赛课5-语言基础与阅读程序_哔哩哔哩_bilibili

CSP初赛课6-阅读程序和完善程序

CSP初赛课6-阅读程序和完善程序_哔哩哔哩_bilibili

CSP初赛课7-2019-2020真题讲解

CSP初赛课7-2019-2020真题讲解_哔哩哔哩_bilibili

CSP初赛课8-2020真题讲解

CSP初赛课8-2020真题讲解_哔哩哔哩_bilibili

CSP初赛课9-模拟试题1讲解

CSP初赛课9-模拟试题1讲解_哔哩哔哩_bilibili

CSP初赛课10-模拟试题2讲解

CSP初赛课10-模拟试题2讲解_哔哩哔哩_bilibili

跟着拓拓一起学编程的个人空间-跟着拓拓一起学编程个人主页-哔哩哔哩视频

CSP初赛课11-模拟试题3讲解

CSP初赛课11-模拟试题3讲解_哔哩哔哩_bilibili

CSP初赛课12-模拟试题4讲解

CSP初赛课12-模拟试题4讲解_哔哩哔哩_bilibili

CSP初赛课13-模拟试题5讲解

CSP初赛课13-模拟试题5讲解_哔哩哔哩_bilibili

CSP初赛课14-模拟试题6讲解

CSP初赛课14-模拟试题6讲解_哔哩哔哩_bilibili

CSP初赛课15-总复习

CSP初赛课15-总复习_哔哩哔哩_bilibili


 


 


 

 

这篇关于完善程序题 普及篇 2、【NOIP1998】FBZ串问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/338912

相关文章

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

MySQ中出现幻读问题的解决过程

《MySQ中出现幻读问题的解决过程》文章解析MySQLInnoDB通过MVCC与间隙锁机制在可重复读隔离级别下解决幻读,确保事务一致性,同时指出性能影响及乐观锁等替代方案,帮助开发者优化数据库应用... 目录一、幻读的准确定义与核心特征幻读 vs 不可重复读二、mysql隔离级别深度解析各隔离级别的实现差异

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

MySQL磁盘空间不足问题解决

《MySQL磁盘空间不足问题解决》本文介绍查看空间使用情况的方式,以及各种空间问题的原因和解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录查看空间使用情况Binlog日志文件占用过多表上的索引太多导致空间不足大字段导致空间不足表空间碎片太多导致空间不足临时表空间

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页