- 笨笨的单词排序
- 2017-09-26 21:48:43 @
var
a:array[1..26,1..1000] of string;
b:array[1..1000] of string;
ch1,ch2:char;
i,j,k,n:longint;
s:string;
p:0..1;
begin
readln(s);
for i:=1 to 26 do
a[i,1]:=s[i];
read(n);
for n:=1 to n do
readln(b[n]);
read(p);
k:=1;
for i:=1 to 26 do
for j:=1 to 1000 do
begin
ch1:=a[i,1][1];
ch2:=b[j][1];
if ord(ch1)=ord(ch2) then
begin
k:=k+1;
a[i,k]:=b[j];
end;
end;
if p=1 then
begin
for i:=1 to 26 do
for j:=2 to 1000 do
if a[i,j]<>'' then writeln(a[i,j]);
end
else
begin
for i:=26 downto 1 do
for j:=2 to 1000 do
if a[i,j]<>'' then writeln(a[i,j]);
end;
end.
错在哪?基本思想桶排序
1 条评论
-
fwiskevin (FW_xulinlin) LV 4 @ 2017-09-26 21:50:46
笨笨的单词排序
描述笨笨有一些单词,他想要把这些单词按一定顺序排序。
现在笨笨有N(N<=1000)个单词,他想要你按笨笨的字典序把这些单词顺序或逆序排列好来。
输入笨笨的字典序以及他所要排序的单词和他所要的排序方式(顺序或逆序,顺序用1表示,逆序用0表示)。
请你把排好的单词输出,每个单词长度不超过255个字符,中间没有空格。
格式输入格式
第一行,一个长度为26的字母不重复的字符串,表示笨笨的字典序(26个字母全齐)。
第二行一个数N。
接下来N行,每行一个单词。
最后一行是笨笨所想要的排序方式。
输出格式输出共N行,表示排好序的单词。输出每行一个单词。
样例1样例输入1
abcdefghijklmnopqrstuvwxyz
2
big
small
1
Copy
样例输出1big
small
- 1