Ⅰ.前者未抵伤的道具后者可使用
Ⅱ.ASCII码:大写字符65-90 小写字符97-122
提示:前3个测试点满足 2≤n≤5。所有测试点满足 2≤n≤1e5。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int N=(n-1)*2;
char s[N];
int q[130]{0};//储存字母ASCII码
int k=0;//受伤次数
cin>>s;
for(int i=0;i<N;i++)
{
int flag=0;
if(s[i]>='a'&&s[i]<='z')q[s[i]]++;//抵伤卡数量
if(s[i]>='A'&&s[i]<='Z')
{
for(int j=0;j<i;j++)
{
if(q[s[j]]>0)//若当前面有未使用的抵伤卡
{
if(s[j]==s[i]+32)//若抵伤卡和伤害对应
{
flag=1;
q[s[j]]--;
break;
}
}
}
if(flag==0)k++;
}
}
cout<<k;
return 0;
}