一開始沒有注意到“在滿足其他條件的同時,按最小字典序輸出”。英文讀題還需要練習啊~唉。
以下是我的代碼:
#include<iostream>
#include<string>
#include<algorithm>
#include<cstdio>
using namespace std;
const string kStr("AJAJAJAJAJASASASASASABABABABABAKAKAKAKAKATUTUTUTUTUCUCUCUCUCULULULULULUDUDUDUDUDUMUMEMEMEMEVEVEVEVEVENENENENENEWEWEWEWEWEFEFEFOFOFOXOXOXOXOXOGOGOGOGOGOPOPOPOPOPOYOYOYOYIYIHIHIHIHIHIQIQIQIQIQIZIZIZIZIZIRIRIRIRIR");
int main()
{
int T;
cin>>T;
for(int case_num=1;case_num<=T;case_num++)
{
int n;
cin>>n;
string ans(kStr.substr(0,n));
string odd,even;
for(int i=0;i<n;i+=2)
odd+=ans[i];
for(int i=1;i<n;i+=2)
even+=ans[i];
sort(odd.begin(),odd.end());
sort(even.begin(),even.end());
cout<<"Case "<<case_num<<": ";
for(int i=0;i<n;i++)
if(i&1)
cout<<even[i>>1];
else
cout<<odd[i>>1];
cout<<endl;
}
return 0;
}
posted on 2011-04-09 13:30
lee1r 閱讀(471)
評論(0) 編輯 收藏 引用 所屬分類:
題目分類:排序