【CDOJ】渐变字符串
来源:互联网 发布:psd免费源码社区 编辑:程序博客网 时间:2024/06/06 02:31
渐变字符串 Edit Sample Input Sample Output
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)
如果一个字符串,它每个字母(第一个除外)为前一个字母的后一位,则这样的字符串被称为“渐变字符串”。如:"abcde", "hijklmnopqr"等等
你有n个写有小写字母的卡片,你要将它们组成尽可能少的渐变字符串,卡片要全部用完
问:最少组成多少渐变字符串呢
test 1即样例,如果出现本机通过样例,提交出现wrong answer on test 1
的情况,请检查在gets或者scanf("%c")之前是否已经使用getchar()将上一行的空格吸收。
Input
第一行一个数字
下面一行
Output
最少的渐变字符串数目
Sample input and output
11dbagccedbba
4
Hint
可以组成这样4个 "abcde" "bcd" "ab" "g"
code:
#include<cstdio>#include<algorithm>using namespace std;#include<cstring>int main(){int n,a[27];while(~scanf("%d",&n)){getchar();int cont=0,sum=0;memset(a,0,sizeof(a));char c;for(int i=0;i<n;i++){c=getchar();a[c-'a']++;//统计每个字母出现个数 }do{int faut=0;for(int i=0;i<27;i++) //26个字母{if(a[i]){if(faut){--a[i];//字母数减少++cont;//统计字母减少的个数 }else{faut=1;//一个字符串开始 --a[i];++cont;++sum;} }else faut=0;//一个字符串结束 } }while(cont!=n);printf("%d\n",sum);}return 0; }
0 0
- CDOJ:渐变字符串
- 【CDOJ】渐变字符串
- CDOJ1510渐变字符串
- CDOJ 1092 韩爷的梦 字符串哈希
- CDOJ 1066 Palindromic String 字符串哈希/马拉车算法
- CDOJ 1092 韩爷的梦 (字符串Double Hash)
- 【UESTC 1510 渐变字符串】 + 贪心
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- 渐变
- Android中加入依赖库点击运行后报出,com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
- hibernate框架自动创建数据库表格
- linux下socket通信,server和client简单例子
- 安装TensorFlow教程
- 数据库连接驱动
- 【CDOJ】渐变字符串
- C#126课的主要内容
- React+Redux 打造 “NEWS EARLY” 单页应用 一个项目理解最前沿技术栈真谛
- 翻转链表
- Activity的四种启动模式
- c3p0连接池配置和Dao使用JdbcTemplate模板
- 基础练习 01字串
- 数据库三大范式详解
- 【MySQL】关于字符集和其排序问题