UVALive 7339 Owllen【思维】
2016-10-26 00:58
337 查看
题目链接
/*
题意:给定一个字符串,让你构造一个字符串使得两个字符串的最长公共自序列
尽可能短,输出最短长度
类型:思维
分析:找二十六个字母中出现次数最少的,就是答案,每次构造的字符串全部用出现
最少的字符填满,如果存在没出现的字符,那长度显然为0
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
char s[100005];
int a[26];
int main()
{
int t;cin>>t;
for(int ik=1;ik<=t;ik++){
memset(a,0,sizeof(a));
scanf("%s",s);
int len=strlen(s);
for(int i=0;i<len;i++){
a[s[i]-'a']++;
}
int Min=0x7fffffff;
for(int i=0;i<26;i++){
if(a[i]<Min)Min=a[i];
}
printf("Case %d: %d\n",ik,Min);
}
return 0;
}
/*
题意:给定一个字符串,让你构造一个字符串使得两个字符串的最长公共自序列
尽可能短,输出最短长度
类型:思维
分析:找二十六个字母中出现次数最少的,就是答案,每次构造的字符串全部用出现
最少的字符填满,如果存在没出现的字符,那长度显然为0
*/
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
char s[100005];
int a[26];
int main()
{
int t;cin>>t;
for(int ik=1;ik<=t;ik++){
memset(a,0,sizeof(a));
scanf("%s",s);
int len=strlen(s);
for(int i=0;i<len;i++){
a[s[i]-'a']++;
}
int Min=0x7fffffff;
for(int i=0;i<26;i++){
if(a[i]<Min)Min=a[i];
}
printf("Case %d: %d\n",ik,Min);
}
return 0;
}
相关文章推荐
- UVaLive 7512 November 11th (思维漏洞)
- UVALive-7601 Football(思维)
- UVALive - 7501 思维 +二分
- UVALive - 3213 Ancient Cipher ( 思维 )
- UVALive - 7501 思维 +二分
- 思维 UVALive 3708 Graveyard
- UVALive 5873 (几何+思维)
- UVALive - 7501 思维 +二分
- Let's Go Green UVALive - 6039题解 思维图论
- UVAlive6911 思维题set
- UVALive 7417 思维
- 【思维-桶记录数组动态滚动】Encrypted Password UVALive - 6320
- UVALive 6588 Crane (思维+贪心) -- 解题报告
- UVALive 5963 Confusion in the Problem Set 思维题、Interesting
- UVALive - 7501 思维 +二分
- UVALive 6437 Power Plant 【最小生成树 + 思维】
- UVALive - 7501 思维 +二分
- UVALive 6087 Fuel Stops(思维、数环上任意前缀和非负的点个数)
- UVALive 6439 Pasti Pas! 【思维】
- Beehive UVALive - 7528 (找规律+数学思维)