pascal question(dificult)

来源:百度知道 编辑:UC知道 时间:2024/06/30 05:48:16
1、第K小邪恶数
输入文件:evil.in
输出文件:evil.out
所谓邪恶数,就是指只含有因子7和13的数。
请你编程求第K小的邪恶数。
输入:共一行:正整数K。(1<=K<=60)
输出: 共一行:第K小邪恶数。
Sample Input
3
Sample Output
49
对于样例的解释:
前三个邪恶数分别是:7,13,49。
2、文字游戏
输入文件:wordgame.in
输出文件:wordgame.out
给你一份单词表,和一个句子。求出该句子能有多少中不同的划分方法。
输入:
第一行:正整数n。(1<= n<=100)
第2行至第n+1行:每行一个单词。(单词的长度不大于20)
第n+2行:一个句子。句子由句点"."结尾。句子仅由小写字母构成,没有空格和标点。句子长度:不超过10000个字母。
所有句子和单词均全部由小写字母组成。
保证没有重复的单词。
输出:划分方法数,答案保证不超过109。
Sample Input
6
ab
cd
a
b
c
d
abcd.
Sample Output
4
对于样例的解释:
划分方法为:ab/cd; a/b/c/d; a/b/cd; ab/c/d;

3、创意吃鱼法
输入文件:meal.in
输出文件:meal.out

回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*)。她发现,把大池子视为01矩阵(0表示对应位置无鱼,1表示对应位置有鱼)有助于决定吃鱼策略。
在代表池子的01矩阵中,有很多的正方形子矩阵,如果某个正方形子矩阵的某条对角线上都有鱼,且此正方形子矩阵的其他地方无鱼,猫猫就可以从这个正方形子矩阵“对角线的一端下口,只一吸,就能把对角线上的那一队鲜鱼

1
var a:array[1..200] of int64;
k,i,p,j:longint;
o:int64;
begin
assign(input,'evil.in');reset(input);
assign(output,'evil.out');rewrite(output);
readln(k);
a[1]:=7;
a[2]:=13;
p:=2;o:=1;
for i:=1 to 16 do begin
o:=o+1;
for j:=1 to o do begin
p:=p+1;
a[p]:=a[p-o]*7;
end;
p:=p+1;
a[p]:=a[p-o-1]*13;
end;
for i:=1 to p-1 do
for j:=i+1 to p do
if a[i]>a[j] then begin
o:=a[i];a[i]:=a[j];a[j]:=o;end;
writeln(a[k]);
close(input);close(output);
end.
3
var a,l,u,r,f:array[0..2500,0..2500] of longint;
i,j,n,m,t,s:longint;
begin
assign(input,'meal.in');reset(input);
assign(output,'meal.out');rewrite(output);
readln(n,m);
for i:=1 to n do
for j:=1 to m do read(a[i,j]);
for i:=1 to n do