- Dejected Birthday-替身
- 2017-05-31 13:48:50 @
贴码:
题目里面写的:读入不需ansistring.这是啥???超长字符串啊。。。可是我只是用的string额
#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
vector<string>sen;
char words[100][100]={0};
bool check(int p,int q)
{
int count=0;
for(int i=0;i<sen[p].size();i++)
{
if(sen[p][i]!=words[q][i]&&count==0)
{
count++;
}
else if(sen[p][i]!=words[q][i]&&count!=0)
{
return false;
}
}
return true;
}
int main(void)
{
string sentence,index;
int n=0,count=0;
char symbol='\0';
cin>>n;
getchar();
do{
cin>>index;
//cout<<index<<endl;
if(getchar()=='\n')
{
symbol=index[index.size()-1];
index.erase(index.end()-1);
sen.push_back(index);
break;
}
sen.push_back(index);
}while(1);
sen[0][0]+='a'-'A';
/*for(int i=0;i<sen.size();i++)
{
cout<<sen[i]<<endl;
}*/
for(int i=0;i<n;i++)
{
cin>>words[i];
}
for(int i=0;i<sen.size();i++)
{
for(int j=0;j<n;j++)
{
if(sen[i].size()==strlen(words[j]))
{
if(strcmp(sen[i].c_str(),words[j])==0)
{
break;
}
if(check(i,j))
{
sen[i]=words[j];
count++;
break;
}
}
}
}
sen[0][0]+='A'-'a';
cout<<count<<endl;
for(int i=0;i<sen.size();i++)
{
if(sen.size())
cout<<sen[i];
int p=sen.size();
if(i!=p-1)
{
cout<<' ';
}
else
{
cout<<symbol;
}
}
//cout<<symbol<<endl;
}
2 条评论
-
doc LV 10 MOD @ 2017-06-01 21:20:32
ansistring 是Pascal中的一个类型,这句话应该是都 Pascal 用户说的
-
2017-05-31 18:42:53@
懂了,句子的换行符不是'\n',,,好坑哇。。。想想vector被一直开也是蛮可怕的
- 1