首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

UVa 10785 WA多谢

2013-10-29 
UVa 10785 WA谢谢题目地址:http://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&page

UVa 10785 WA谢谢
题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=19&problem=1726&mosmsg=Submission+received+with+ID+12570629

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string vowels="AAAAAAAAAAAAAAAAAAAAAUUUUUUUUUUUUUUUUUUUUUEEEEEEEEEEEEEEEEEEEEEOOOOOOOOOOOOOOOOOOOOOIIIIIIIIIIIIIIIIIIIII";
string consonants="JJJJJSSSSSBBBBBKKKKKTTTTTCCCCCLLLLLDDDDDMMMMMVVVVVNNNNNWWWWWFFFFFXXXXXGGGGGPPPPPYYYYYHHHHHQQQQQZZZZZRRRRR";
int n;
while (cin>>n)
{
for(int cas=1;cas<=n;++cas)
{
int m;
cin>>m;
string name,name1,name2;//name1存元音,name2辅音,对name1和name2排完序后再组成name
int i,j;
i=j=0;
int num=0;
int size_vowels=vowels.size();
int size_consonants=consonants.size();
while(num<m)
{
name1+=vowels[i];
i=(i+1)%size_vowels;
++num;
if(num>=m)break;
name2+=consonants[j];
j=(j+1)%size_consonants;
++num;
}
sort(name1.begin(),name1.end());
sort(name2.begin(),name2.end());
i=j=0;
while(i<name1.size()&&j<name2.size())
{
name+=name1[i++];
name+=name2[j++];
}
if(i<name1.size())
name+=name1[i];
else
name+=name2[j];
cout<<"Case "<<cas<<": "<<name<<endl;
}
}
return 0;
}

[解决办法]
            if(i<name1.size())
                name+=name1[i];
            else
                name+=name2[j];

m是偶数的时候你else branch里走一遭?

热点排行