题目: 黑白棋游戏

黑白棋——C语言设计 黑白棋——C语言设计 游戏操作指南 游戏规则说明 1、游戏开始不允许中途退出                                        2、黑白棋的每一步都要翻转对方的棋子才能走.                         3、黑子做端点,隔旁边的白子做水平、竖直、斜45度的端点放黑子,必须是直线,中间白子都翻转为黑子.                     ... 阅读详情

黑白棋游戏

题目描述

黑白棋游戏的棋盘由 4 × 4 4 \times 4 4×4 方格阵列构成。棋盘的每一方格中放有 1 1 1 枚棋子,共有 8 8 8 枚白棋子和 8 8 8 枚黑棋子。这 16 16 16 枚棋子的每一种放置方案都构成一个游戏状态。在棋盘上拥有 1 1 1 条公共边的 2 2 2 个方格称为相邻方格。一个方格最多可有 4 4 4 个相邻方格。在玩黑白棋游戏时,每一步可将任何 2 2 2 个相邻方格中棋子互换位置。对于给定的初始游戏状态和目标游戏状态,编程计算从初始游戏状态变化到目标游戏状态的最短着棋序列。

输入格式

输入文件共有 8 8 8 行。前四行是初始游戏状态,后四行是目标游戏状态。每行 4 4 4 个数分别表示该行放置的棋子颜色。“ 0 0 0 ”表示白棋;“ 1 1 1 ”表示黑棋。

输出格式

输出 n n n,表示最少需要多少步才能到达目标状态。

样例 #1

样例输入 #1

1111
0000
1110
0010
1010
0101
1010
0101

样例输出 #1

4

提示

提示就是没有提示awa



题解

        这是一道非常直白的广度优先搜索问题,所以只要套模板即可,模板可以参考我之前的文章。

简单分析一下,每次有24种交换的可能,即每一行的 第一个 第二个 第二个 第三个和第三个 第四个交换,每一列的第一个 第二个 第二个 第三个和第三个 第四个交换。那么只要根据这个构建出一棵树就好啦。


废话不多说,上代码!

#include <iostream>
#include <cstdio>
#include <bitset>
#include <queue>
#include <cmath>

using namespace std;

char a[16], target[16]; // 数组
struct NODE {
    bitset<16>b;
    int step;
}now, nextt, temp;
queue<NODE>q;   // 队列

short F[65535] = { 0 };

bool check(NODE a)
{
    if (F[a.b.to_ulong()] == 0)
    {
        return true;
    }
    else if (F[a.b.to_ulong()] == 3)
    {
        return true;
    }
    else
    {
        return false;
    }
}

int main()
{
    for (int i = 0; i < 16; i++)
    {
        cin >> a[i];
    }
    for (int i = 0; i < 16; i++)
    {
        cin >> target[i];
    }
    bitset<16>hash_a(a);
    bitset<16>hash_target(target);

    // 设置终点
    F[hash_target.to_ulong()] = 3;

    // 起始点入队
    now.b = hash_a;
    now.step = 0;
    q.push(now);
    F[now.b.to_ulong()] = 1;

    while (!q.empty())
    {
        // 不断取出队首
        now = q.front();
        q.pop();

        temp = now;

        // 遍历同一层的24种可能

        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                now = temp;

                // 横向交换
                int t = now.b[4 * i + j];
                now.b[4 * i + j] = now.b[4 * i + j + 1];
                now.b[4 * i + j + 1] = t;

                // 走动
                if (check(now))
                {
                    // 构造下一个节点
                    nextt.step = now.step + 1;
                    nextt.b = now.b;

                    if (F[nextt.b.to_ulong()] == 3)   // 到达中点
                    {
                        cout << nextt.step << endl;
                        return 0;
                    }

                    // 入队
                    q.push(nextt);
                    F[nextt.b.to_ulong()] = 1;
                }
            }
        }

        for (int j = 0; j < 4; j++)
        {
            for (int i = 0; i < 3; i++)
            {
                now = temp;

                // 纵向交换
                int t = now.b[j + i * 4];
                now.b[j + i * 4] = now.b[j + (i + 1) * 4];
                now.b[j + (i + 1) * 4] = t;

                if (check(now))
                {
                    // 构造下一个节点
                    nextt.step = now.step + 1;
                    nextt.b = now.b;
                    
                    // 走动
                    if (F[nextt.b.to_ulong()] == 3)   // 到达中点
                    {
                        cout << nextt.step << endl;
                        return 0;
                    }

                    // 入队
                    q.push(nextt);
                    F[nextt.b.to_ulong()] = 1;
                }
            }
        }
    }
    


    return 0;
}

(其实这里的代码还可以再优化一下的QAQ,懒~)

结语

        这里有一个小小的问题,就是这段代码再我自己的电脑上跑(c++11标准)是完全没有问题的,但是上传到oj上就提示编译错误了,我也不知道为啥,能有大佬解释一下吗QAQ。如果实在不行可以自己写这个bitset部分,主要就只有将二进制转化位10进制的部分,用一个数组完全可以搞定,但是我…是吧,所有就…是吧(阅读理解部分awa)。


(溜啦溜啦~嘻→嘻↘嘻→嘻↗嘻↗嘻↗嘻↗)

【Python案例】基于Pygame黑白棋游戏(附源码)_黑白棋python代码 如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。 阅读详情

相关推荐

基于汇编语言实现的彩色黑白棋游戏

黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它。黑白棋是 19 世纪末英国人发明的。直到上个世纪 70 年代日本人长谷川五郎将其进行发展和推广,借用莎士比亚名剧奥赛罗(othello)为这个游戏重新命名(日语“オセロ”),也就是现在大家玩的黑白棋。为何借用莎士比亚名剧呢?是因为奥赛罗是莎士比亚一个名剧的男主角。

神仙别闹的自留地 875

四连测全题解

第一次: 一 . 猴子 时间限制: 1 Sec  内存限制: 128 MB 题目描述、输入、输出        ---------------- 方法 B此题的基本方法是DP,很好理解,状态转移方程是  。 因为数据量很大,所以要用到单调队列来优化。 普通的单调队列是单纯地上升或下降..但这次是有区别的。 黄*: 我们看状态转移方程,其中的j是有一个范围的,就是 i - k ...

DD(XYX)的硫氰化氘博客 335

关于黑白棋游戏题解

   关于黑白棋游戏题解焦祺 08-11-28Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)Problem Description黑白棋游戏的棋盘由4×4方格阵列构成。棋盘的每一方格中放有1枚棋子,共有8枚白棋子和8枚黑棋子。这16枚棋子的每一种放置方案都构成一个游

互联网产品管理、交互、设计、开发、用户体验专栏 2637

用c++实现黑白棋

黑白棋规则介绍黑白棋是由黑方和白方两人进行的益智游戏。棋盘为N×N方格,黑白棋总共使用N2个棋子,每个棋子分正反两面,分别是黑色和白色。轮到一方下棋时,必须把棋下在与对方棋子相邻的空位上,要求所下的棋子和原有的已方棋子夹住对方的至少一个棋子(横竖斜夹均可),然后把被夹住的子变成己方的颜色(也叫吃子)。下棋过程中,任何棋子既不会从棋盘上拿走,也不会从一个格子移到另一个格子,吃子时,不会发生连锁反

zdfantasy的专栏 1万+

【Python案例】基于Pygame黑白棋游戏(附源码)

有没有小火伴是特别喜欢玩五子棋的,我记得我初中是特别喜欢的。于是,我今天就用Python给大家写了一个黑白棋游戏。代码放在下面了。 01、绘制棋盘 Python学习交流Q群:906715085### import pygame, sys, random from pygame.locals import * BACKGROUNDCOLOR = (255, 255, 255) FPS = 40 # 初始化 pygame.init() mainClock = pygame.time.Clock() # 加载图

xff123456_的博客 4045

C++实现黑白棋算法

1、黑白棋算法要求       实现黑白棋,判断是否可以落子,思路上难度不大,细节问题较多,细节很重要,代码实现可以有很多种,第一次实现难免有冗余的代码,冗余部分可以使用函数实现,尽量保证代码的可复用性。另外,输出黑白棋子数量的时候,数字要格式化输出占两位(%2d)。 2、思路      见代码。 3、代码实现 #include &lt;stdio.h&gt; #include &lt...

程序猿老樊的博客 8767

洛谷题目: P1225 黑白棋游戏 题解 (本题难)

洛谷题目: P1225 黑白棋游戏 题解

C++老手 1392

Pygame游戏开发:Python实现黑白棋游戏

本文旨在通过“黑白棋”这个经典棋盘游戏的开发实践,帮助读者掌握Pygame库的核心用法(如窗口绘制、事件监听、图形渲染),同时理解棋盘类游戏的通用设计逻辑(状态管理、规则判断、胜负计算)。内容覆盖从环境搭建到完整游戏运行的全流程,不涉及复杂AI算法(如Alpha-Beta剪枝),但会为后续扩展留下接口。本文从“为什么选黑白棋”的故事引入,逐步讲解Pygame基础、黑白棋规则、核心算法(落子检测/翻转逻辑),最后通过完整代码实现一个可玩的游戏。重点章节包括“核心概念解释”“核心算法原理”和“项目实战”。

AI Python 编程之道的博客 967

黑白棋移动游戏开发实战:用C++模拟信息学奥赛经典题目(含完整代码)

本文详细介绍了如何使用C++开发黑白棋移动游戏,模拟信息学奥赛经典题目。从游戏规则解析、算法设计到完整代码实现,涵盖递归解法、游戏可视化及交互功能,适合算法爱好者和游戏开发新手提升实战能力。

linux6sysadmin的博客 766

C语言黑白棋AI游戏完整源码解析

本文还有配套的精品资源,点击获取 简介:本文档解析了一个使用C语言编写的黑白棋AI游戏的源码,该源码是一个计算机专业学生毕业设计的产物。源码展示了C语言在游戏编程、数据结构、算法和人工智能领域的应用。项目涉及了游戏规则的实现、AI策略的构建以及可能的网络通信功能。此外,源码遵循软件工程最佳实践,具有良好的注释和错误处理机制。 1. C语言编程技巧与黑白棋AI游戏概...

weixin_31139479的博客 1237

MATLAB闪退别慌!5分钟搞定Windows系统预设文件修复(附详细截图)

本文针对MATLAB在Windows系统下频繁闪退的问题,提供了快速有效的解决方案。核心在于修复或重置损坏的MATLAB预设文件,通过图文并茂的五步法,指导用户定位AppData目录、重命名预设文件夹,从而让MATLAB自动生成全新配置以解决闪退。文章还涵盖了问题诊断、设置备份及进阶排查方法,帮助用户彻底根除启动故障。

weixin_29234423的博客 925

黑白棋游戏 (codevs 2743)题解

【问题描述】 黑白棋游戏的棋盘由4×4方格阵列构成。棋盘的每一方格中放有1枚棋子,共有8枚白棋子和8枚黑棋子。这16枚棋子的每一种放置方案都构成一个游戏状态。在棋盘上拥有1条公共边的2个方格称为相邻方格。一个方格最多可有4个相邻方格。在玩黑白棋游戏时,每一步可将任何2个相邻方格中棋子互换位置。对于给定的初始游戏状态和目标游戏状态,编程计算从初始游戏状态变化到目标游戏状态的最短...

weixin_30314793的博客 129

VXLAN技术详解

VXLAN(虚拟可扩展局域网)是一种Overlay二层虚拟化技术,通过MAC-in-UDP封装在IP网络上构建大规模虚拟二层网络。核心组件包括VTEP(隧道端点)、24位VNI(支持1600万个虚拟网络)和VXLAN网关。相比VLAN,VXLAN具有超大规模扩展、跨三层互联、支持虚拟机无缝迁移等优势,适用于云数据中心多租户隔离、跨数据中心互联等场景。其基于IP路由的封装方式无需改造物理网络,为现代云网络提供了弹性、安全的虚拟化解决方案。

kjkdd的博客 595

VC版黑白棋游戏

目  录  前  言... 2 1.课程设计计划... 3 2.功能需求... 3 3.总体设计... 5 4.详细设计... 6 5.测试与实现... 28 6.总结... 29 参考文献... 30   前  言        黑白棋,也称反棋(Reversi)、奥赛罗棋(Othello),苹果棋,翻转棋是一个经典的策略性游戏。黑白棋是19世纪末英国

牟尼的专栏 4847

医学图像中的小目标病灶检测难题:我的硕士研究总结与思考

医学图像中的小目标检测和分割,主要指在CT、MRI、超声等医学影像中识别和分割微小病灶或细小结构。这些小目标通常体积小、边界模糊、特征不明显,却往往是关键病灶,例如肺部小结节、脑微出血、乳腺微钙化等。

weixin_45638136的博客 2368

blender中合并的模型,在threejs中显示多个mesh;blender多材质烘培成一个材质

5、优化项(省略此步骤,直接进行步骤6),进入到视图着色方式(此时没有灯光,整体偏暗,如果不调整灯光,烘培出来的材质也偏暗,因此此步骤为优化项,通畅建议调整)。在右边栏进入世界环境,调整颜色。7、烘焙成功之后,新建一个材质,将第三步创建的纹理图像作为材质的纹理,连接到基础色,并把模型的材质改为此材质,其他的材质全部删除。2、处理uv,在侧边栏选择数据-uv贴图,选中使用的uv,进入编辑模式,全选,键盘u,选择智能uv投射。3、处理材质,在侧边栏选择材质,进入着色,在着色器编辑器新建一个图像纹理,新建图像。

AllBluefm的专栏 2529

HTML5 游戏开发实战 | 黑白棋

黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello)、苹果棋、翻转棋。黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。黑白棋的棋盘是一个有8×8方格的棋盘。开始时在棋盘正中有两白两黑四个棋子交叉放置,黑棋总是先下子。

不断学习,不断进步,提高自己 3846

AMEsim不连续处理机制:仿真精度与效率的平衡艺术

本文深入解析AMEsim不连续处理机制在系统仿真中的应用,探讨如何平衡仿真精度与效率。通过液压系统仿真案例,详细介绍了事件检测算法、变步长求解器自适应策略及典型场景优化方法,帮助工程师有效应对仿真中的不连续性问题,提升仿真效率和准确性。

v4w5x6的博客 440

黑白棋C\C++实现方式

黑白棋的C\C++实现方式

相濡以沫的博客 1万+

Eplan2022 复制已有的宏文件生成新的原理图宏文件

Eplan2022 新建原理图宏文件

haier123888的博客 1万+

【Matlab】多旋翼无人机视觉伺服跟踪控制程序

本文介绍了基于Matlab的多旋翼无人机视觉伺服跟踪控制程序开发方法。该系统采用视觉感知、坐标转换、伺服控制和仿真验证四个核心模块,通过HOG+SVM目标检测、Shi-Tomasi特征提取和PID双闭环控制算法实现动态目标跟踪。详细阐述了相机标定、目标检测、坐标转换及伺服控制等关键环节的Matlab实现代码,并进行了仿真验证。结果表明该系统在±0.1m的跟踪精度下可实现100Hz的实时处理,适用于室内外复杂场景。文章还提出了工程应用中的优化建议,为无人机视觉伺服系统的开发提供了完整的技术方案。

unber的博客 506

黑白棋游戏源代码分析

游戏规则: 在一个8x8的棋盘有两个玩家,他们轮流放入分别放入白色和黑色的棋子。 当一个玩家在空棋子的位置放入一个棋子,我们检查放入棋子的8个方向 上 下 左 右 左上 左下 右上 右下,如果这8个方向上有自己这方的棋子夹的全是对方的棋子,则对方的棋子将被吃掉,变成我方的棋子

深海蓝的技术随笔 9309

探索如何利用CST和ADS进行DDR的SIPI联合仿真

本文系统介绍了CST和ADS两款工具进行DDR信号完整性/电源完整性(SI/PI)联合仿真的方法。CST采用工作室协同方式,通过PCB布局导入、材料设置、模型分配等步骤,重点分析了电源阻抗优化和信号波形质量。ADS则利用SIPro、PIPro等专用工具,突出系统级验证和自动化优化功能。两者各有优势:CST擅长3D结构精确建模,ADS更适于快速系统验证。文章建议可根据项目需求混合使用两种工具,并提供了模型简化、频带选择等实用技巧。通过对比分析,为工程师选择仿真工具提供了决策参考。

一只豌豆象的博客 1150

使用Unity 3D制作一款黑白棋游戏

github中只包含Assets文件,包含脚本,预制件模型。

lababababidu的博客 1412

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: 题目:解药毒药
下一篇: 题目:单词查找树(字典树AWA)
ResCells
博客等级 码龄4年 191粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值