您的位置:首页 > 其它

CodeForces 180C Letter

2015-03-21 09:21 190 查看
题意:给你一个字符串,问你所有的大写字母都要在所有的小写字母的右边,你一个操作可以改变一个字母的大小写,问你满足条件的最小步数。

解题思路:DP

解题代码:

// File Name: 180c.cpp
// Author: darkdream
// Created Time: 2015年03月21日 星期六 08时40分08秒

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>
#define LL long long

using namespace std;
int big;
int small;
char str[100500];
int main(){
scanf("%s",str);
int len = strlen(str);
for(int i = 0 ;i < len; i ++)
{
if(str[i] <= 'Z')
big ++ ;
else
small ++;
}
int mi = min(big,small) ;
int tbig,tsmall;
tbig = tsmall = 0;
for(int i = 0 ;i < len;i ++)
{
if(str[i] <= 'Z')
tbig ++ ;
else tsmall ++ ;
mi = min(mi,tsmall+big - tbig);
}
printf("%d\n",mi);
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: