主题:第29次编程比赛第2题比赛结果
arfi@7 通过测试。 [url=http://upload.programfan.com/upfile/200606060854155.rar]最大数据[/url]运行1000次, 耗时250ms
cmlzyh@5 通过测试。 最大数据运行1000次, 耗时781ms
goal00001111@9 通过测试。 算法不合适,运行最大数据超时
ITER@8 有错误。 是不是贴错了代码。"234"与"adg"就有问题。
wellerweldon@4 通过测试。 最大数据运行1000次, 耗时 265ms
天国龙@10 通过测试。 最大数据运行1000次, 耗时 750ms
//第一页优秀 arfi 和 wellerweldon
//第二页
bvor@16 有错误。 你没有按题目要求编写函数接口。
出错数据如下,编译后无法正常运行。
char* num = "23456789";
const char* words[] ={
"adgjmptwaaaaaaaaaaaaa",//无法跳过这个长单词,
"cfilosvx", //来处理第二个单词
NULL};
fenix124@14 你的解法真是清晰明了啊!但题目已注明,只提供小写字母的单词。把
其中的validwords[i][j]-'A'修改为 validwords[i][j]-'a'就好了.修改后最大数据运行1000次,耗时235ms
subchap@11 通过测试。 最大数据运行1000次, 耗时 312ms
太没劲了@18 通过测试。 此题被你看透了!最大数据运行1000次, 耗时188ms
//第二页优秀 subchap 和 太没劲了
//第三页
HeroSong@24 有错误。 你没有有效排除字母Q。"23456789"和"adgjmqtw"应该是不匹配的。
HeroSong@25 有错误同上。
hustliux@26 有错误。你没有有效排除字母Q和Z. "23456789" 和 "adgjmqtw", "adgjmptz", "adgjmqtz"应该都是不匹配的。
johnywoo@29 通过测试。 最大数据运行1000次, 耗时219ms
yunzhou008@22 通过测试。 最大数据运行1000次, 耗时203ms
火海时代@30 有错误。 "23456789"和"adgjmptwa"应该是不匹配的,你的程序没有检测到单词末尾多了一个a。
//第三页优秀 johnywoo 和 yunzhou008
//第四页
ht1441@34 通过测试。使用数组来保存每个单词的长度,在时间和空间上产生额外的开销。当单词数目很多是势必会影响运行速度。请参看本题示例解法。
scyangbo@31 通过测试。 最大数据运行1000次, 耗时828ms
singlemanlqs@33 有错误。 "7"和"s"应该是匹配的。
w01fdawn35 有错误。 你没有有效排除字母Q。"23456789"和"adgjmqtw"应该是不匹配的。
//第四页优秀 无
[color=008000]借用了fenix124@14的代码[/color]^_^,作为推荐算法样板!如下:
int p[26]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,-1,7,7,8,8,8,9,9,9,-1};
int NumberOfValid(const char* number,const char* validwords[])
{
int i,j,temp;
temp = 0;
for(i = 0;validwords[i];i++)
{
for(j = 0; number[j]&&validwords[i][j];j++)
if(p[validwords[i][j]-'a'] != number[j]-'0') break;
if(number[j]== 0 && validwords[i][j] == 0) temp++;
}
return temp;
}
废话就不多说了,[color=0000FF]我宣布此题比赛的冠军是 太没劲了[/color]。
请 太没劲了 兄负责出下周的第30次比赛第2题。
p.s.对于通过测试的参赛者,回复此贴加30分专家分

您所在位置:

