| Time Limit: 2000MS | Memory Limit: 65536K | |
| Total Submissions: 19044 | Accepted: 6959 |
Description
Input
Output
Sample Input
i is has have be my more contest me too if award # me aware m contest hav oo or i fi mre #
Sample Output
me is correct aware: award m: i my me contest is correct hav: has have oo: too or: i is correct fi: i mre: more me
Source
直接暴力了
AC代码:
#include<iostream>
#include<map>
#include<string>
#include<cstring>
#include<algorithm>
#include<stdio.h>
using namespace std;
string str[10010];
int judge1(string s1,string s2){
int c,i; c=0;
for(int i=0;i<s1.length() && i+c<s1.length();){
if(s1[i+c]==s2[i])
i++;
else
c++;
}
return 2-c;
}
int judge2(string s1,string s2){
int i,c;
c=0;
for(i=0;i<s1.length();i++)
if(s1[i]!=s2[i])
c++;
return 2-c;
}
int main(){
string s;
int i,j; j=0;
while(cin>>s && s[0]!='#'){
str[j++]=s;
}
while(cin>>s && s[0]!='#'){
for(i=0;i<j;i++){
if(str[i]==s){
cout<<s<<" is correct"<<endl;
break;
}
}
if(i>=j){
cout<<s<<':';
for(i=0;i<j;i++){
if(str[i].length()==s.length()){
if(judge2(s,str[i])==1){
cout<<' '<<str[i];
}
}
else{
if(str[i].length()>s.length()){
if(judge1(str[i],s)==1){
cout<<' '<<str[i];
}
}
else{
if(judge1(s,str[i])==1){
cout<<' '<<str[i];
}
}
}
}
cout<<endl;
}
}
return 0;
}原文:http://blog.csdn.net/my_acm/article/details/38345667