题意:给你一串字符串,含有大写字母和小写字母。从坐到右,如果能够碰见一个大写字母,前面对应的小写字母还有库存,那么库存减-,如果没有了,那么就需要付出而外的 1点 。 问你最后需要额外付出几点。
解题思路:我会告诉你是水题吗
解题代码:
1 // File Name: a.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月27日 星期五 00时44分21秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque> 10 #include<stack> 11 #include<bitset> 12 #include<algorithm> 13 #include<functional> 14 #include<numeric> 15 #include<utility> 16 #include<sstream> 17 #include<iostream> 18 #include<iomanip> 19 #include<cstdio> 20 #include<cmath> 21 #include<cstdlib> 22 #include<cstring> 23 #include<ctime> 24 #define LL long long 25 26 using namespace std; 27 char str[1000005]; 28 int hs[1000]; 29 int main(){ 30 int n ; 31 scanf("%d",&n); 32 scanf("%s",&str[1]); 33 int sum = 0; 34 for(int i = 1;i <= 2*n-2;i ++ ) 35 { 36 if(str[i] <= 'z' && str[i] >= 'a') 37 { 38 hs[str[i] -'a'] ++ ; 39 }else{ 40 if(hs[str[i]-'A'] == 0 ) 41 sum ++; 42 else hs[str[i]-'A'] -- ; 43 } 44 } 45 printf("%d ",sum); 46 return 0; 47 }