文章

15

粉丝

446

获赞

2

访问

122.0k

头像
map记录一下字符
P1255 北京大学机试题
发布于2021年3月10日 16:19
阅读数 7.6k

#include<bits/stdc++.h>
#define MAXINT 32767
using namespace std;
typedef long long ll;
bool isLetter(char a)
{
	if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))
		return true;
	return false;
}
int main()
{
    string s;
    map<int,string> m;
    while(getline(cin,s))
    {
    	for(int i=0;i<s.size();i++)
    	{
    		char Caps;//lower(0) or upper(1)
    		if(s[i]>='a'&&s[i]<='z')
    		{
    			Caps='0';
    			m[s[i]-'a']+=Caps;
			}
			if(s[i]>='A'&&s[i]<='Z')
    		{
    			Caps='1';
    			m[s[i]-'A']+=Caps;
			}
		}
		int cnt=0;
		for(int i=0;i<26;i++)
		{
			if(m.find(i)!=m.end())
			{
				string ms=m[i];
				//cout<<ms<<endl;
				for(int j=0;j<ms.size();j++)
				{
					char c;
					if(ms[j]=='1')	c=i+'A';
					else	c=i+'a';
					while(1){
						if(isLetter(s[cnt]))
						{
							s[cnt++]=c;
							break;
						}
						cnt++;
					}
				}
			}...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发