主题:[讨论]给大家几道外国的题目(很简单)
[fly][color=800000]本文供大家练笔之用[/color][/fly]
Problem 1: 谷仓的安保
Farmer John给谷仓安装了一个新的安全系统,并且要给牛群中的每一个奶牛安排
一个有效的密码。一个有效的密码由L(3 <= L <= 15)个小写字母(来自传统的拉丁
字母集'a'...'z')组成,至少有一个元音('a', 'e', 'i', 'o', 或者 'u'),至少
两个辅音(除去元音以外的音节),并且有按字母表顺序出现的字母(例如,'abc'是
有效的,而'bac'不是) 。
给定一个期望长度L和C个小写字母,写一个程序,打印出所有的长度为L、能由这
些字母组成的有效密码。密码必须按字母表顺序打印出来,一行一个。
题目名称: passwd
输入格式:
* 第一行: 两个由空格分开的整数,L和C
* 第二行: C个空格分开的小写字母,密码是由这个字母集中的字母来构建的。
输入样例 (文件 passwd.in):
4 6
a t c i s w
输入详细说明:
由从给定的六个字母中选择的、长度为4的密码。
输出格式:
* 第一至?行: 每一个输出行包括一个长度为L个字符的密码(没有空格)。输出行必
须按照字母顺序排列。
输出样例 (文件 passwd.out):
acis
acit
aciw
acst
acsw
actw
aist
aisw
aitw
astw
cist
cisw
citw
istw
**********************************************************************
Problem 2: "跳房子"
奶牛们按不太传统的方式玩起了小孩子们玩的"跳房子"游戏。奶牛们创造了
一个5x5的、由与x,y轴平行的数字组成的直线型网格,而不是用来在里面跳
的、线性排列的、带数字的方格。
然后他们熟练地在网格中的数字中跳:向前跳、向后跳、向左跳、向右跳
(从不斜过来跳),跳到网格中的另一个数字上。他们再这样跳啊跳(按相同规
则),跳到另外一个数字上(可能是已经跳过的数字)。
一共在网格内跳过五次后,他们的跳跃构建了一个六位整数(可能以0开头,
例如000201)。
求出所有能被这样创造出来的不同整数的总数。
问题名称: numgrid
输入格式:
* 第1到5行: 这样的网格,一行5个整数
输入样例 (文件 numgrid.in):
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 2 1
1 1 1 1 1
输出格式:
* 第1行: 能构建的不同整数的总数
输出样例 (文件 numgrid.out):
15
输出详细说明:
111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112,
121211, 121212, 211111, 211121, 212111和 212121 能够被构建。没有其它可
能的数了。
**********************************************************************
Problem 3: 卫星照片
Farmer John给他的农场买了W x H像素的卫星照片(1 <= W <= 80, 1 <= H
<= 1000),希望找出最大的"连续的"(互相连接的)牧场。任何一对像素,一个
像素如果能横向的或纵向的与属于这个牧场的另一个像素相连,这样的牧场称
作是连续的(这句话太难翻了,大家将就着理解一下,看了后面的范例应该不
会影响做题—译者)。(很容易创建形状稀奇古怪的牧场,甚至是围着其它圆圈
的圆圈。)
每一张照片都数字化的抽象了,牧场区显示为"*",非牧场区显示为"."。下面
是一个10 x 5的卫星照片样例:
..*.....**
.**..*****
.*...*....
..****.***
..****.***
这张照片显示了大小分别为4、16、6个像素的连续牧场区。帮助FJ在他的每张
卫星照片中找到最大的连续牧场。
问题名称: satpix
输入格式:
* 第1行: 两个由空格分开的整数,H 和 W。
* 第2到H+1行: 每一行包含W个"*"或者".",代表卫星照片的横向行。
输出样例 (文件 satpix.in):
10 5
..*.....**
.**..*****
.*...*....
..****.***
..****.***
输出格式:
* 第1行: 最大连续牧场的大小
输出样例 (文件 satpix.out):
16
Problem 1: 谷仓的安保
Farmer John给谷仓安装了一个新的安全系统,并且要给牛群中的每一个奶牛安排
一个有效的密码。一个有效的密码由L(3 <= L <= 15)个小写字母(来自传统的拉丁
字母集'a'...'z')组成,至少有一个元音('a', 'e', 'i', 'o', 或者 'u'),至少
两个辅音(除去元音以外的音节),并且有按字母表顺序出现的字母(例如,'abc'是
有效的,而'bac'不是) 。
给定一个期望长度L和C个小写字母,写一个程序,打印出所有的长度为L、能由这
些字母组成的有效密码。密码必须按字母表顺序打印出来,一行一个。
题目名称: passwd
输入格式:
* 第一行: 两个由空格分开的整数,L和C
* 第二行: C个空格分开的小写字母,密码是由这个字母集中的字母来构建的。
输入样例 (文件 passwd.in):
4 6
a t c i s w
输入详细说明:
由从给定的六个字母中选择的、长度为4的密码。
输出格式:
* 第一至?行: 每一个输出行包括一个长度为L个字符的密码(没有空格)。输出行必
须按照字母顺序排列。
输出样例 (文件 passwd.out):
acis
acit
aciw
acst
acsw
actw
aist
aisw
aitw
astw
cist
cisw
citw
istw
**********************************************************************
Problem 2: "跳房子"
奶牛们按不太传统的方式玩起了小孩子们玩的"跳房子"游戏。奶牛们创造了
一个5x5的、由与x,y轴平行的数字组成的直线型网格,而不是用来在里面跳
的、线性排列的、带数字的方格。
然后他们熟练地在网格中的数字中跳:向前跳、向后跳、向左跳、向右跳
(从不斜过来跳),跳到网格中的另一个数字上。他们再这样跳啊跳(按相同规
则),跳到另外一个数字上(可能是已经跳过的数字)。
一共在网格内跳过五次后,他们的跳跃构建了一个六位整数(可能以0开头,
例如000201)。
求出所有能被这样创造出来的不同整数的总数。
问题名称: numgrid
输入格式:
* 第1到5行: 这样的网格,一行5个整数
输入样例 (文件 numgrid.in):
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 2 1
1 1 1 1 1
输出格式:
* 第1行: 能构建的不同整数的总数
输出样例 (文件 numgrid.out):
15
输出详细说明:
111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112,
121211, 121212, 211111, 211121, 212111和 212121 能够被构建。没有其它可
能的数了。
**********************************************************************
Problem 3: 卫星照片
Farmer John给他的农场买了W x H像素的卫星照片(1 <= W <= 80, 1 <= H
<= 1000),希望找出最大的"连续的"(互相连接的)牧场。任何一对像素,一个
像素如果能横向的或纵向的与属于这个牧场的另一个像素相连,这样的牧场称
作是连续的(这句话太难翻了,大家将就着理解一下,看了后面的范例应该不
会影响做题—译者)。(很容易创建形状稀奇古怪的牧场,甚至是围着其它圆圈
的圆圈。)
每一张照片都数字化的抽象了,牧场区显示为"*",非牧场区显示为"."。下面
是一个10 x 5的卫星照片样例:
..*.....**
.**..*****
.*...*....
..****.***
..****.***
这张照片显示了大小分别为4、16、6个像素的连续牧场区。帮助FJ在他的每张
卫星照片中找到最大的连续牧场。
问题名称: satpix
输入格式:
* 第1行: 两个由空格分开的整数,H 和 W。
* 第2到H+1行: 每一行包含W个"*"或者".",代表卫星照片的横向行。
输出样例 (文件 satpix.in):
10 5
..*.....**
.**..*****
.*...*....
..****.***
..****.***
输出格式:
* 第1行: 最大连续牧场的大小
输出样例 (文件 satpix.out):
16