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

ZCMU--5286: Rose的字符串(C语言)

Description

一天Rose同学想得到一个仅由01组成的字符串S,Jack同学为了让Rose同学开心,于是打算去商店购买另一个也仅由01组成的字符串T。而商店的字符串价格由它的长度决定,比如字符串011售价3元,001011售价6元,商店可以提供任意的字符串。

心灵手巧的Jack为了省钱,决定低价购入一个较短的字符串并对其进行改造,改造不需要花钱,但只能进行两个操作:对字符串T的首部加上一个0,同时对其尾部加上一个1;或者对字符串T的首部加上一个1,同时对其尾部加上一个0。比如字符串T为010010,Jack可以将它改造为10100100或者00100101。

现在Rose已经给出了字符串S,请问Jack最少需要购买多少长度的字符串,使得心灵手巧的他可以把从商店购买来的字符串转化成字符串S呢?

Input

多组输入,第一行数字t(1≤t≤100)代表共有t组数据。

每组数据仅一行S,代表Rose期望的字符串,字符串仅包含0和1,长度不超过10^3。

Output

对于每组输入,每行请输出一个数字,代表Jack需要购买的最短字符串长度。

Sample Input

3
101010
11
01101

Sample Output

0
2
1

HINT

对于第一组样例,Jack可以不购买任何字符串,仅凭他的两种操作就可以拼出Rose所需要的字符串S。

解析:其实我们可以反着想,然后把给定的两端不断拆,直到不能拆(两端同为0或者1),那么此时串的长度就是我们需要购买的长度。

#include <stdio.h>
#include <string.h>
char a[1005];
int main()
{int t,l,x,y;scanf("%d",&t);while(t--){scanf("%s",a);l=strlen(a);//字符串长度x=0,y=l-1;//左端点,右端点while(x<y&&a[x]!=a[y]) x++,y--;//两端不同,可以拆,注意x<y条件printf("%d\n",y-x+1);//答案长度}return 0;
}
http://www.lryc.cn/news/18202.html

相关文章:

  • MAC下搭建hadoop
  • Python如何实现自动登录和下单的脚本,请看selenium的表演
  • 华为OD机试真题Python实现【关联子串】真题+解题思路+代码(20222023)
  • Flutter+【三棵树】
  • 若依系统【SpringBoot】如何集成qq邮件发送【超详细,建议收藏】
  • kettle使用--1.mysql多表关联导入mongoDB
  • 2023年CDGA考试-第10章-参考数据和主数据(含答案)
  • 2023年,什么行业更有发展前景?
  • 致盛咨询携手亚马逊云科技进一步开拓中国市场
  • ts之 命名空间 namespace、三斜线指令、声明文件(declare 声明ts的变量函数第三方模块等 )
  • Day898.Join语句执行流程 -MySQL实战
  • ChatGPT商业前景如何?人工智能未来会如何发展?
  • 代码随想录第十六天(347、194、195、94)
  • < elementUI组件样式及功能补全: 实现点击steps组件跳转对应步骤 >
  • 【学习笔记】互联网金融:芝麻信用分的建模过程
  • Linux C/C++或者嵌入式开发到底有没有35岁危机?
  • 国内领先的十大API接口排行
  • 【Linux】Kickstart 配置U盘自动化安装Linux系统
  • 【Spring MVC】这一篇,带你从入门到进阶
  • InstallAware Multi-Platform updated
  • Spring Batch 高级篇-多线程步骤
  • 关于iframe一些通讯的记录(可适用工作流审批)
  • JavaWeb
  • ip段192.168.1.0/24和192.168.0.0/16
  • 《爆肝整理》保姆级系列教程python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)
  • 【第二章 IOC操作bean管理(XML注入其他类型属性(字面量,外部bean,内部bean,级联赋值)、XML注入集合属性)】
  • Kotlin-枚举和印章
  • _linux (TCP协议通讯流程)
  • PMP考试详解,新考纲有什么变化?
  • C++学习笔记-日期和时间