admin 管理员组文章数量: 887007
杭电1297 Children’s Queue
我对此题进行大致的翻译:PHT学校有许多学生。有一天,校长,他的名字叫PigHeader希望所有学生站在一条线。他规定,女孩不能在单独一个人站着
换句话说,队列中要么全都是男孩,要么女孩不只有一个并肩站着,例如当n=4(表示孩子的数量)有如下排列方式
FFFF, FFFM, MFFF, FFMM, MFFM, MMFF, MMMM
这里的F表示女孩,M表示男孩,队列的排列方式总数满足校长需要的,有7种。
你能写一个程序来计算孩子们的排列方式种数吗?
import java.util.Scanner;
import java.math.BigInteger;public class Main2 {public static void main(String[] args) {Scanner in = new Scanner(System.in);int a;BigInteger[] b = new BigInteger[1010];b[1] = BigInteger.ONE;b[2] = BigInteger.valueOf(2);b[3] = BigInteger.valueOf(4);b[4] = BigInteger.valueOf(7);while (in.hasNext()) {a = in.nextInt();if (a < 5) {System.out.println(b[a]);} else {for (int i = 5; i <= a; i++) {b[i] = b[i - 1].add(b[i - 2]).add(b[i - 4]);}System.out.println(b[a]);}}}
}
本文标签: 杭电1297 Children’s Queue
版权声明:本文标题:杭电1297 Children’s Queue 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732356403h1534557.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论