2989. 字符串重排

Li Dao

这题只跟N,B,A的个数有关系

include

using namespace std;
int T;
string strs;

void solve()
{
int N=0,B=0,A=0;
int ll=strs.length();
for(int i=0;i<ll;i++)
if(strs[i]==’N’) N++;
else if(strs[i]==’B’) B++;
else A++;
while(N && B && A)
{
cout<<”NBA”;
N–;
B–;
A–;
}

while(N || B || A)
{
if(N) {cout<<”N”;N–;}
if(B) {cout<<”B”;B–;}
if(A) {cout<<”A”;A–;}
}
cout<>T;
for(int step=0;step>strs;
printf(“case #%d:\n”,step);
solve();
}
return 0;
}

圣墓山花哩喵

include

using namespace std;
multiset st;
int main()
{
int T;
cin >> T;
for(int t = 0;t < T;t = t + 1)
{
string s;
cin >> s;
for(int i = 0;i < s.size();i = i + 1)
{
st.insert(s[i]);
}
cout << “case #” << t << “:” << endl;
while(!st.empty())
{
if(st.count(‘N’) > 0)
{
cout << ‘N’;
st.erase(st.lower_bound(‘N’));
}
if(st.count(‘B’) > 0)
{
cout << ‘B’;
st.erase(st.lower_bound(‘B’));
}
if(st.count(‘A’) > 0)
{
cout << ‘A’;
st.erase(st.lower_bound(‘A’));
}
}
cout << endl;
}
}

你当前正在回复 博客/题目
存在问题!