彩色宝石项链C/C++解决
题目:
输入描述:
我们用每种字符代表一种宝石,A表示红宝石,B表示蓝宝石,C代表紫水晶,D代表翡翠,E代表钻石,F代表玉石,G代表玻璃等等,我们用一个全部为大写字母的字符序列表示项链的宝石序列,注意项链是首尾相接的。每行代表一种情况。
输出描述:
输出学者能够拿到的最多的宝石数量。每行一个
输入
ABCYDYE ATTMBQECPD
输出
1 3
分析:
复制字符串(在合法输入情况下,其实只需要在原始字符串后面添加原始字符串前5位就可以了)。ABCDE分别用二进制的每一位表示,如A代表1,B代表2,C代表4,D代表8,E代表16。我们定义一个标记flag=0x0000(0x代表十六进制),遍历字符串,每取到一个A~E之间的字符,就执行flag=flag|(1<<(str[i]-‘A’);这句话的意思是将每一次取到A~E之间的值与flag进行或运算,比如flag起始为0,取到字符B时,flag为0x2,再取到C时,flag=0x6,再取到之前取过的值时,flag是不变的,当flag=0x1f(也就是flag==31时),表示ABCDE都已经取到。所以可以根据flag与0x1f作比较来判断A~E是否全部取到。
代码:
#include<iostream>
#include<string>
using namespace std;
int main(){string a;int len,flag=0,count,min;while(getline(cin,a)){len=a.length();min=len;for(int i=0;i<len;i++)a.push_back(a[i]);for(int i=0;i<len+5;i++){int j=i;flag=0;count=0;while((j<len+len)&&flag!=0x1F){if(flag==0)count=0;if(a[j]>='A'&&a[j]<='E'){flag|=1<<(a[j]-'A');}j++;count++;}if((min>count)&&(flag==0x1F))min=count;}cout<<len-min<<endl;}
}
彩色宝石项链C/C++解决相关推荐
- **《彩色宝石项链》
题目描述 有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等.有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶, ...
- 牛客网在线编程(7):彩色宝石项链-python
题目描述 有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等.有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶, ...
- 搜狐[编程题]彩色宝石项链.有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等
时间限制:1秒 空间限制:32768K 有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等.有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后 ...
- c++编程题 彩色宝石项链
题目描述 有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等.有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶, ...
- 牛客编程题:彩色宝石项链
彩色宝石项链 题目描述: 有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等.有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石, ...
- 牛客算法笔记 彩色宝石项链
链接:https://www.nowcoder.com/questionTerminal/321bf2986bde4d799735dc9b493e0065 来源:牛客网有一条彩色宝石项链,是由很多种不 ...
- 搜狐笔试题目一彩色宝石项链
有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等.有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石 ...
- 彩色宝石项链(环状链表处理)
题目描述 有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等.有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶, ...
- 彩色宝石项链-搜狐编程
题目要求: 有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等.有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶 ...
最新文章
- 文轩在线:如何让IT部门成为企业的价值中心
- Map Join介绍及案例
- java asm 中文文档_Java ASM3学习(3)
- 通过取父级for循环的i来理解闭包,iife,匿名函数
- 全网最全Spring面试题之高级篇整理总结(二)(共16题,附超详细解答)
- 3.1.1 Spring 简介
- 项目怎么导入mui_Vue项目MUI的使用
- python自学看什么书-如何自学Python ?自学看什么书比较好?
- 家庭版完全免费,下面的注册码为:avast! 4 pro(专业版)的
- 基于Astar算法实现飞行轨迹的三维规划附Matlab代码
- 人生如逆旅,我亦是行人。
- 常见开关电源优缺点对比
- Mac下压缩和解压rar文件的方法
- Python实现输出电话号码对应的字母组合
- linux 中文件批量重命名
- 机器学习(Machine-Learning)----概述
- 微信与支付宝扫码支付
- STM32汇编指令(一)WFI 和 WFE
- 你并不理解的 电快速瞬变脉冲群 实验
- 基于ESP32四旋翼无人机如何根据PID算法进行电机的PWM duty补偿