2015蓝桥杯五星填数(C++C组)
题目:五星填数
如【图1.png】的五星图案节点填上数字:1~12,除去7和11。
要求每条直线上数字和相等。
如图就是恰当的填法。
请你利用计算机搜索所有可能的填法有多少种。
注意:旋转或镜像后相同的算同一种填法。
请提交表示方案数目的整数,不要填写任何其它内容。
代码:
#include<iostream>
using namespace std;
int data[10] = {1,2,3,4,5,6,8,9,10,12};
int a[10];
bool jud();
int ways();
int main(int argc,char** argv){
cout << ways();
}
bool jud(){
int s1 = a[1] + a[2] + a[3] + a[4];
int s2 = a[4] + a[6] + a[7] + a[8];
int s3 = a[8] + a[5] + a[2] + a[0];
int s4 = a[0] + a[3] + a[6] + a[9];
int s5 = a[9] + a[7] + a[5] + a[1];
if(s1 == 24 && s2 == 24 && s3 == 24 && s4 == 24 && s5 == 24){
return true;
}
return false;
}
bool jud_temp(){
int a1 = 0,a2 = 0,a3 = 0,a4 = 0,a5 = 0,a6 = 0,a7 = 0,a8 = 0,a9 = 0,a10 = 0;
for(int i = 0;i < 10;i++){
if(a[i] == 1){
a1 = 1;
}else if(a[i] == 2){
a2 = 1;
}else if(a[i] == 3){
a3 = 1;
}else if(a[i] == 4){
a4 = 1;
}else if(a[i] == 5){
a5 = 1;
}else if(a[i] == 6){
a6 = 1;
}else if(a[i] == 8){
a7 = 1;
}else if(a[i] == 9){
a8 = 1;
}else if(a[i] == 10){
a9 = 1;
}else if(a[i] == 12){
a10 = 1;
}
}
if(a1 == 0 || a2 == 0 || a3 == 0 || a4 == 0 || a5 == 0 || a6 == 0 || a7 == 0 || a8 == 0 || a9 ==0 || a10 == 0){
return false;
}else{
return true;
}
}
int ways(){
int nums = 0;
for(int a1 = 0;a1 < 10;a1++){
for(int a2 = 0;a2 < 10;a2++){
for(int a3 = 0;a3 < 10;a3++){
for(int a4 = 0;a4 < 10;a4++){
for(int a5 = 0;a5 < 10;a5++){
for(int a6 = 0;a6 < 10;a6++){
for(int a7 = 0;a7 < 10;a7++){
for(int a8 = 0;a8 < 10;a8++){
for(int a9 = 0;a9 < 10;a9++){
for(int a10 = 0;a10 < 10;a10++){
a[0] = data[a1];
a[1] = data[a2];
a[2] = data[a3];
a[3] = data[a4];
a[4] = data[a5];
a[5] = data[a6];
a[6] = data[a7];
a[7] = data[a8];
a[8] = data[a9];
a[9] = data[a10];
if(jud_temp()){
if(jud()){
nums++;
}
}
}
}
}
}
}
}
}
}
}
}
return nums;
}
2015蓝桥杯五星填数(C++C组)的更多相关文章
- java实现第六届蓝桥杯五星填数
五星填数 如[图1.png]的五星图案节点填上数字:1~12,除去7和11. 要求每条直线上数字和相等. 如图就是恰当的填法. 请你利用计算机搜索所有可能的填法有多少种. 注意:旋转或镜像后相同的算同 ...
- 第七届 蓝桥杯 方格填数 dfs
如下的10个格子 填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数. 注意:你提交的应该是一个整数,不要填写任何 ...
- 蓝桥杯 方格填数 DFS 全排列 next_permutation用法
如下的10个格子(参看[图1.jpg]) 填入0~9的数字.要求:连续的两个数字不能相邻.(左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数.注意:你提交的应该是一个 ...
- java实现第三届蓝桥杯方块填数
方块填数 "数独"是当下炙手可热的智力游戏.一般认为它的起源是"拉丁方块",是大数学家欧拉于1783年发明的. 如图[1.jpg]所示:6x6的小格被分为6个部 ...
- java实现第七届蓝桥杯七星填数
七星填数 如图[图1.png]所示. 在七角星的14个节点上填入1~14 的数字,不重复,不遗漏. 要求每条直线上的四个数字之和必须相等. 图中已经给出了3个数字. 请计算其它位置要填充的数字,答案唯 ...
- java实现第七届蓝桥杯方格填数
方格填数 题目描述 如下的10个格子 +--+--+--+ | | | | +--+--+--+--+ | | | | | +--+--+--+--+ | | | | +--+--+--+ (如果显示 ...
- 【2015蓝桥杯省赛】C++ B组试题
1.奖券数目 作答:52488,正确 #include <iostream> using namespace std; bool check(int x) { ] = { }; while ...
- 2015蓝桥杯分机号(C++C组)
标题:分机号X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位.比如:751,520,321 都满足要求,而,766,918,201 就不符合要求.现 ...
- 2016年第七届蓝桥杯C/C++程序设计本科B组省赛
/* 2016年第七届蓝桥杯C/C++程序设计本科B组省赛 煤球数目(结果填空) 煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形) ...
随机推荐
- Linux内核文档:如何写符合 kernel-doc 规范的注释
简介 Linux内核使用 Sphinx 实现把 Documentation 目录下的 reStructuredText 文件转换为非常漂亮的文档.文档既可以通过 make htmldocs 转换成 H ...
- 详解POI的使用方法(DOM和SAX的方式)及存在的不足
简介 Apache POI是一套基于 OOXML 标准(Office Open XML)和 OLE2 标准来读写各种格式文件的 Java API,也就是说只要是遵循以上标准的文件,POI 都能够进行读 ...
- 【分布式锁】03-使用Redisson实现RedLock原理
前言 前面已经学习了Redission可重入锁以及公平锁的原理,接着看看Redission是如何来实现RedLock的. RedLock原理 RedLock是基于redis实现的分布式锁,它能够保证以 ...
- 【Weiss】【第03章】练习3.7:有序多项式相乘
[练习3.7] 编写一个函数将两个多项式相乘,用一个链表实现.你必须保证输出的多项式按幂次排列,并且任意幂次最多只有一项. a.给出以O(M2N2)时间求解该问题的算法. b.写一个以O(M2N)时间 ...
- 使用C#+EmguCV处理图像入门(一)
首先我们先了解一下该库的一些相关信息 OpenCV(Open Source Computer Vision Library)是一个(开源免费)发行的跨平台计算机视觉库,可以运行在Linux.Windo ...
- JMeter脚本拷贝自动化
方法一:DOC命令拷贝脚本(适合Windows系统) 1.写一段DOC命令(保存为批处理文件copyscript.bat),将本地JMeter脚本拷贝到远程机器上. net use \\<远程机 ...
- Hive 时间操作
Hive 时间转换 UNIX时间戳概念:因为UNIX时间戳只是一个秒数,一个UNIX时间戳在不同时区看来,时间是不同的.如UNIX时间戳0,在0时区看来是1970-01-01 00:00:00,在东八 ...
- kali的安装详解--摘自官方
官方网址:https://www.kali.org/docs/virtualization/install-vmware-workstation-player-kali-guest-vm/ 在VMwa ...
- 动态规划-TSP问题-最短超级串
2020-03-03 22:55:08 问题描述: 给定一个字符串数组 A,找到以 A 中每个字符串作为子字符串的最短字符串. 我们可以假设 A 中没有字符串是 A 中另一个字符串的子字符串. 示例 ...
- Python中保留两位小数的几种方法
https://blog.csdn.net/Jerry_1126/article/details/85009810 保留两位小数,并做四舍五入处理方法一: 使用字符串格式化>>> a ...