汉诺塔!!! Simulate the movement of the Towers of Hanoi puzzle Bonus is possible for using animation eg. if n = 2 A→B A→C B→C if n = 3 A→C A→B C→B A→C B→A B→C A→C
标签: the animation Simulate movement
上传时间: 2017-02-11
上传用户:waizhang
将魔王的语言抽象为人类的语言:魔王语言由以下两种规则由人的语言逐步抽象上去的:α-〉β1β2β3…βm ;θδ1δ2…-〉θδnθδn-1…θδ1 设大写字母表示魔王的语言,小写字母表示人的语言B-〉tAdA,A-〉sae,eg:B(ehnxgz)B解释为tsaedsaeezegexenehetsaedsae对应的话是:“天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅”。(t-天d-地s-上a-一只e-鹅z-追g-赶x-下n-蛋h-恨)
上传时间: 2013-12-19
上传用户:aix008
【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定N,A[1..N] B[1..N]。输出一条符合条件的路线,若无解,输出NO ANSWER。(使用U,D,L,R分别表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示b[1]..b[n]。 【输出格式】 仅有一行。若有解则输出一条可行路线,否则输出“NO ANSWER”。
标签: 点阵
上传时间: 2014-06-21
上传用户:llandlu
本文在 x86-64 Ubuntu Linux 上为 CubieBoard(包括 A10 单核和 A20 双核系统)构建一个基于ARMHF 的 Debian Linux,包括 SPL、 U-BOOT、内核 (Kernel)、根系统 (ROOTFS)。授人以渔是就是授人以自由——本文合适的阅读者是喜欢操刀折腾系统的爱好者或者相关从业者,如果您仅仅想体验一下CubieBoard 系列产品或是直接利用 CubieTech 及社区的成果,那么您可以选择安装官方发布版或社区发布版。 CubieBoard 是一套出色的开源硬件平台方案,而得益于开源社区的群策群力、协和共荣, CubieBoard 软件系统也可以通过自己下载现成的软件或代码配置、编译起来,最终形成一个可用的嵌入式 Linux 系统。
标签: CubieBoard 嵌入式系统
上传时间: 2015-12-28
上传用户:王永辉0394
实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); }
上传时间: 2016-06-27
上传用户:梁雪文以
#include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
标签: 道理特分解法
上传时间: 2018-05-20
上传用户:Aa123456789
一建立STM32cubeMX工程1.建立新工程,选择芯片STM32F302CCTx2. 在Pinout 中时钟配置为高速外部时钟, UART配置为异步通信, cube 会自动分配引脚。3.Clock Configuration 中配置如下4.configuration 中点击USART1可进入配置在USART1 configuration 中Parameter Settings 可以配置波特率,发送数据字长,奇偶校验位和停止位等。NVIC Setting 可以配置中断优先级。5.生成keil 软件代码点击工具栏中的齿轮按钮,可以选择代码的开发平台, ok 结束。(文件保存路径一定要是全英文的)进过了我们一系列的配置, cube 会为我们自动生成keil 软件的代码,代码中包括工程所需的固件库,配套的头文件,启动文件及用户文件。在main.c 中包括了我们工程所需外设的初始化,包括了系统时钟初始化,中断初始化, GPIO初始化, USART1初始化, HAL库初始化。我们只需要在main.c 中添加我们自己的代码就可以了。二keil 软件代码及HAL库使用UART_HandleTypeDef huart1;生成的代码中有声明一个USART处理的结构体HAL库中串口的数据收发有四个函数HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_tSize, uint32_t Timeout);指针huart 指向我们之前定义的USART处理结构体, 我们将在函数中对结构体中的参数进行操作。pDate 是我们自己定义的数据发送接收缓存, Size 发送接收数据个数, Timeout 超时持续时间。UART状态的结构体:我们在发送接收函数中要经常对USART的状态进行判断,以便我们对函数结构体中的参数进行操作
标签: stm32cubemx 串口
上传时间: 2022-06-22
上传用户:shjgzh
AR0231AT7C00XUEA0-DRBR(RGB滤光)安森美半导体推出采用突破性减少LED闪烁 (LFM)技术的新的230万像素CMOS图像传感器样品AR0231AT,为汽车先进驾驶辅助系统(ADAS)应用确立了一个新基准。新器件能捕获1080p高动态范围(HDR)视频,还具备支持汽车安全完整性等级B(ASIL B)的特性。LFM技术(专利申请中)消除交通信号灯和汽车LED照明的高频LED闪烁,令交通信号阅读算法能于所有光照条件下工作。AR0231AT具有1/2.7英寸(6.82 mm)光学格式和1928(水平) x 1208(垂直)有源像素阵列。它采用最新的3.0微米背照式(BSI)像素及安森美半导体的DR-Pix™技术,提供双转换增益以在所有光照条件下提升性能。它以线性、HDR或LFM模式捕获图像,并提供模式间的帧到帧情境切换。 AR0231AT提供达4重曝光的HDR,以出色的噪声性能捕获超过120dB的动态范围。AR0231AT能同步支持多个摄相机,以易于在汽车应用中实现多个传感器节点,和通过一个简单的双线串行接口实现用户可编程性。它还有多个数据接口,包括MIPI(移动产业处理器接口)、并行和HiSPi(高速串行像素接口)。其它关键特性还包括可选自动化或用户控制的黑电平控制,支持扩频时钟输入和提供多色滤波阵列选择。封装和现状:AR0231AT采用11 mm x 10 mm iBGA-121封装,现提供工程样品。工作温度范围为-40℃至105℃(环境温度),将完全通过AEC-Q100认证。
标签: 图像传感器
上传时间: 2022-06-27
上传用户:XuVshu
MFC开发的串口助手,包含整个工程,可以直接用
标签: 串口调试
上传时间: 2022-07-06
上传用户:
直流无刷电动机是在有刷直流电动机的基础上发展起来的。目前为止,虽然在传动应用领域当中占据主导的地位是各种交流电动机以及直流电动机,但是直流无刷电动机正在迅猛发展,日益受到人们广泛的关注。BLDC电机具有直流电机方便调速的优点,但它没有机械换向的种种问题,同时扩大了调速的范围。此外还有很多有优点,比如噪音比较低,效率高以及转矩波动较小,具有重要的研究意义。本文在学习Proteus 仿真软件的基础上,利用dsPIC33FJ12MC202单片机进行了直流无刷电机的控制研究,实现了仿真的硬件电路及单片机程序的仿真。通过MPLAB软件对代码进行编写和调试,并且结合Proteus软件的硬件仿真。最终得到实验结果。以此为基础,通过程序实现了开环控制、PID控制、门限值控制等不同方案的设计;通过进行这些比较,得出开环控制难以获得较好的控制效果,而PID控制与门限值控制相比PID控制的灵活性及控制精度更高。
上传时间: 2022-07-21
上传用户: