ACM OJ上的 一题目 求解释
题目地址 http://icpc.ahu.题目
Description
有N个单词和字符串T,按字典顺序输出以字符串T为前缀的所有单词。
Input
输入文件第一行包含一个正整数N(1<=N<=10000);
接下来的N行,每行一个单词,长度不超过20;
最后一行包含字符串T。
所有字符均为小写字母。
Output
按字典升序输出答案。
Sample Input
Original Transformed
6
na
no
ki
ki
ka
ku
k
Sample Output
Original Transformed
ka
ki
ki
ku
我的代码
程序代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> int cmp(const void *p1,const void *p2) { return ( strcmp( *(char **)p1,*(char **)p2) ); } int main() { int N,n=0,i,j,k; char in[10002][21],*out[10002],*temp,tou[21],*p; scanf("%d",&N); for(i=0;i<N;i++) scanf("%s",in[i]); scanf("%s",tou); for(i=0;i<N;i++) { p=strstr(in[i],tou); if(p==in[i]) { out[n]=in[i]; n++; } } qsort(out,n,sizeof(out[0]),cmp); for(i=0;i<n;i++) printf("%s\n",out[i]); return 0; }
测试 没有问题
弄了很多次 终于 不是 超时了
用了快排之后 时间不超了
但是 wrong answer
求 解释