蓝桥杯第六届牌型种数(Java)
蓝桥杯第六届牌型种数(Java)
暴力:
public class Main {
public static void main(String[] args) {
int[] a = new int[13];
int count = 0;
for (a[0] = 0; a[0] <= 4; a[0]++)
for (a[1] = 0; a[1] <= 4; a[1]++)
for (a[2] = 0; a[2] <= 4; a[2]++)
for (a[3] = 0; a[3] <= 4; a[3]++)
for (a[4] = 0; a[4] <= 4; a[4]++)
for (a[5] = 0; a[5] <= 4; a[5]++)
for (a[6] = 0; a[6] <= 4; a[6]++)
for (a[7] = 0; a[7] <= 4; a[7]++)
for (a[8] = 0; a[8] <= 4; a[8]++)
for (a[9] = 0; a[9] <= 4; a[9]++)
for (a[10] = 0; a[10] <= 4; a[10]++)
for (a[11] = 0; a[11] <= 4; a[11]++)
for (a[12] = 0; a[12] <= 4; a[12]++) {
if (a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7]
+ a[8] + a[9] + a[10] + a[11] + a[12] == 13) {
count++;
}
}
System.out.println(count);
}
}
递归:
/*
*递归求解
*排列组合题,通常用递归
*/
public class 六届牌型种数 {
static int ans;
public static void main(String[] args) {
f(0,0);
System.out.println(ans);
}
//k表示每种牌型(考虑到了哪种牌),cnt表示牌累计的数目
private static void f(int k, int cnt) {
if(k>13||cnt>13)
return;
if(k==13&&cnt==13) {
ans++;
return;
}
//for循环里有递归,先纵后横
for (int i = 0; i < 5; i++) {
f(k+1,cnt+i);
}
}
}
蓝桥杯第六届牌型种数(Java)相关教程
[蓝桥杯2017初赛]日期问题 (思路)
[蓝桥杯2017初赛]日期问题 (思路) #includeiostream#includestdio.h#includestring.h#includemath.h#includealgorithm#includesstream#define ll long long#includesetusing namespace std;bool is(int x) ///判断是否是闰年 {if(x%400==0||x%4==0x%100!=0)
蓝桥杯第八届省赛A组c/c++
蓝桥杯第八届省赛A组c/c++ A. 迷宫 X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。 房间的地板上写着一个很大的字母。 我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间, R表示走到右边的房间, U表示走到上坡方
蛇行矩阵求解的C语言实现-蓝桥杯
蛇行矩阵求解的C语言实现-蓝桥杯 主要思路是找到行和列的规律,再用for循环的嵌套求解。 #includestdio.hint main(void){int n;scanf(%d,n);static int a=1;static int b=1;for(int row=1;rown+1;row++){a+=row-1;printf(%d,a);b=a;for(int i=2;in-row+2;i++)
蓝桥杯(测试次数)
蓝桥杯(测试次数) 2018省赛B组第4题 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多
2019年蓝桥杯省赛B组c++ABCD
2019年蓝桥杯省赛B组c++ABCD 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容。每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1号位至 5 号位的评分之和最大可能是多少? 浏览图表可知,20位球
2015蓝桥杯省赛javaA组----加法变乘法
2015蓝桥杯省赛javaA组----加法变乘法 public class TestOne {/* * 问题:将两个不相邻的加号变为乘号,输出第一个乘号前的数字 *思路:原式子:1+2+3+...+i+(i+1)+...+j+(j+1)+...+49=1225; * 新式子: 1+2+3+...+i*(i+1)+...+j*(j+1)+...+49=2015; * 其中i
Python解答第十届蓝桥杯大赛个人赛软件类B
Python解答第十届蓝桥杯大赛个人赛软件类B 文章目录 组队 年号字串 数列求值 数的分解 迷宫 特别数的和 完全二叉树的权值 等差数列 后缀表达式 灵能传输 组队 class Team: def __init__(self, info): self.info = infoteam = []ans = 0with open('../数据/tea
蓝桥 试题 算法提高 快乐司机(Java)
蓝桥 试题 算法提高 快乐司机(Java) 样例输入: 5 3699 8768 3679 4375 947 35 import java.util.Scanner;public class 快乐司机 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int w=sc.nextInt();int[