当前位置:  互联网>综合
本页文章导读:
    ▪Surrounded Regions      题目: Given a 2D board containing 'X' and 'O', capture all regions surrounded by'X'. A region is captured by flipping all 'O's into 'X's in that surrounded region . For example, X X X X X O O X X X O X X O X X After running your function, the bo.........
    ▪AVR工具指南(二)      ATMEL公司的AVR单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。AVR单片机采用增强的RISC结构 ,使.........
    ▪web.py 启动时候出现AttributeError: 'module' object has no attribute 'inet_pton'错误      错误信息如下: Traceback (most recent call last): File "webpy.py", line 84, in <module> app.run() File "D:\Python27\lib\site-packages\web\application.py", line 313, in run return wsgi.runwsgi(self.wsgifunc(.........

[1]Surrounded Regions
    来源: 互联网  发布时间: 2013-10-25

题目:

Given a 2D board containing 'X' and 'O', capture all regions surrounded by'X'.

A region is captured by flipping all 'O's into 'X's in that surrounded region .

For example,

X X X X
X O O X
X X O X
X O X X

After running your function, the board should be:

X X X X
X X X X
X X X X
X O X X

代码如下:

    queue<int> q;
    int n;
    void fill(int x,int y,vector<vector<char>> &board)
    {
        if(x<0||x>=n||y<0||y>=n||board[x][y]!='O')return;
        q.push(x*n+y);
        board[x][y]='D';
    }
    void BFS(int x,int y,vector<vector<char>> &board)
    {
        fill(x,y,board);
        while(q.size()>0)
        {
            int top=q.front();
            q.pop();
            int i=top/n;
            int j=top%n;
            fill(i-1,j,board);
            fill(i+1,j,board);
            fill(i,j-1,board);
            fill(i,j+1,board);
        }
    }
    void solve(vector<vector<char>> &board)

   {
        n=board.size();
        if(n<=2)return;
        for(int i=0;i<n;i++)
        {
            BFS(i,0,board);
            BFS(i,n-1,board);
        }
        for(int j=1;j<n-1;j++)
        {
            BFS(0,j,board);
            BFS(n-1,j,board);
        }
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(board[i][j]=='O')board[i][j]='X';
                else if(board[i][j]=='D')board[i][j]='O';
            }
        }
    }

作者:chunxia75qin 发表于2013-6-7 19:25:45 原文链接
阅读:20 评论:0 查看评论

    
[2]AVR工具指南(二)
    来源: 互联网  发布时间: 2013-10-25
ATMEL公司的AVR单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。AVR单片机采用增强的RISC结构 ,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。AVR单片机工作电压为2.7-6.0V,可以实现耗电最优化。AVR的单片机广泛应用于计算机外部设备 ,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。

继续  AVR工具指南(一)的内容

3.  WinCUPL

WinCUPL(可编程逻辑通用编译器)是一款可以为SPLD和CPLD创造出非常复杂的逻辑设计的逻辑编译器。该工具使得工程师们可以设计出他们自己的逻辑电路并创建出JEDEC(联合电子设备工程委员会标准)文件。因此,你可以使用ROM writer在设备中进行映射。

WinCUPL()

The WinCUPL 套件包含如下工具:

WinCUPL       一款为所有WinCUPL工具,包括编译器在内,设计的强大的前端和用户接口。

CUPL Compiler     用CUPL语言编写的逻辑描述在编译后,可以被分配到指定的逻辑器件(PLDs)上。在编译的基础之上,CUPL编译器查找它的库文件并创建可以下载到设备编译器上的文件。从此,该PLD即可编译。

Simulator      在设计被制作为产品之前,他们可以使用CSIM进行仿真。CSIM将预期的数值和在CUPL操作中计算出的实际的数值相比较。仿真的输入和结果可以图形化地观察并通过WinSim进行修改。

WinSim   仿真输入和结果可以通过Winsim设置并显示波形。

3.1.    如何安装

1)     转到 http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2759

2)     在该页面内点击 “注册并下载”。

图 3‑1. Atmel网站中下载WinCUPL的地址.

1)     下载前请先注册并获取序列号。在完成准备工作后,你就可以开始下载了

2)     “awincupl.exe运行下载的文件“awincupl.exe”

3)     安装下面的安装程序精灵

4)     重新启动之后,执行Start>Program>Atmel WinCupl>WinCupl

图 3‑2. WinCUPL’s 主界面.

3.2.    使用 CUPL语言进行设计

这一节介绍的是CUPL的设计操作,并向你展示了关于设计流程的样例。

3.2.1.       语法的使用

基本的逻辑和算数运算符,以及二进制等式设计中使用的函数如下。

1)     逻辑运算符

下表显示了使用NOT,AND,OR和XOR等逻辑运算符的表达方式和优先级。

2)     算数运算符和函数

下表显示了6个常用的运算符的表达方式,样例以及优先级。

用$repeat和$macro指令定义的算数函数可以被用在算数表达式中。下表显示了算数函数和它的进制数。

3.2.1.       开始设计

现在,我们开始介绍如何通过简单的样例来设计PLD。按照如下步骤,你可以执行包含等待功能的PLD。

1)     在WinCupl,执行过后,点击Click File>New>Project。

2)     你可以在设计选项中写入上面提到的内容,然后点击OK按钮,INPUT PIN窗口出现。

图 3‑3. INPUT PIN 界面

3)     输入INPUT PIN序号并点击OK按钮。然后,按照相同的方法输入OUTPUT PIN, PINNODESS等的信息。(*如果设计者已经知道了他想使用的设备,则需要进行引脚分配)

4)     在设计窗口下已经创建了表格,然后按照用户需要编写程序。

图 3‑4. 样例代码.

5)     在Options > Devices菜单界面下选择你将使用的设备。在设备选择完成后,你应该在你的编程页输入“Device Mnemonic”信息。
请参考下图左下角的屏幕截图。

图 3‑5. 设备选择.

3.2.3.       编译

1)     在编程过程结束之后,请通过运行菜单或者对应的图标,选择你想要编译的项目

图 3‑6. 设备关联编译.

2)     编译过程完成后,编译结果界面会显示在你的显示器上,如下图所示。

图 3‑7. 编译结果

3)     你可以通过编译来确认新创建的JEDEC文件。

但是,如果你在虚拟条件下写入设备信息,你将不能生成JEDEC文件。因此,此过程需要格外注意。

图 3‑8. 创建 JEDEC 文件界面

4)     你可以在设备中已常见的JEDEC文件中使用Rom writer来执行写操作。

你可以从 http://www.atmel.com 或者WinCUPL用户手册获取到更多的信息。

 

感谢您的关注!

作者:WIZnet2012 发表于2013-6-8 11:28:25 原文链接
阅读:96 评论:0 查看评论

    
[3]web.py 启动时候出现AttributeError: 'module' object has no attribute 'inet_pton'错误
    来源: 互联网  发布时间: 2013-10-25

错误信息如下:

Traceback (most recent call last):
  File "webpy.py", line 84, in <module>
    app.run()
  File "D:\Python27\lib\site-packages\web\application.py", line 313, in run
    return wsgi.runwsgi(self.wsgifunc(*middleware))
  File "D:\Python27\lib\site-packages\web\wsgi.py", line 55, in runwsgi
    server_addr = validip(listget(sys.argv, 1, ''))
  File "D:\Python27\lib\site-packages\web\net.py", line 108, in validip
    if validip6addr(ip): return (ip,port)
  File "D:\Python27\lib\site-packages\web\net.py", line 33, in validip6addr
    socket.inet_pton(socket.AF_INET6, address)
AttributeError: 'module' object has no attribute 'inet_pton'

解决方法,修改Python安装目录下Lib\site-packages\web\net.py文件的第32到第35行为如下内容:

    try:
        socket.inet_pton(socket.AF_INET6, address)
    except:
        return False

参考:https://github.com/webpy/webpy/pull/195#issuecomment-19143945

作者:trbbadboy 发表于2013-6-8 14:32:06 原文链接
阅读:71 评论:0 查看评论

    
最新技术文章:
▪用户及权限基础 2---- Linux权限    ▪用户及权限基础 3---- Linux扩展权限    ▪git 简明教程(1) --创建及提交
▪背包 代码    ▪json对象的封装与解析    ▪01背包,完全背包,多重背包 ,模板代码
▪apache安装详解    ▪HDU 4668 Finding string (解析字符串 + KMP)    ▪《TCP-IP详解 卷1:协议》学习笔记(二)
▪《TCP-IP详解 卷1:协议》学习笔记(持续更新...    ▪windows下使用swig    ▪gensim试用
▪Linux Shell脚本编程--nc命令使用详解    ▪solr对跨服务器表联合查询的配置    ▪递归和非递归实现链表反转
▪Linux磁盘及文件系统管理 1---- 磁盘基本概念    ▪Cholesky Decomposition    ▪HTTP协议学习
▪用C语言写CGI入门教程    ▪用hdfs存储海量的视频数据的设计思路    ▪java多线程下载的实现示例
▪【原创】eAccelerator 一个锁bug问题跟踪    ▪hadoop学习之ZooKeeper    ▪使用cuzysdk web API 实现购物导航类网站
▪二维数组中的最长递减子序列    ▪内嵌W5100的网络模块WIZ812MJ--数据手册    ▪xss 跨站脚本攻击
▪RobotFramework+Selenium2环境搭建与入门实例    ▪什么是API    ▪用PersonalRank实现基于图的推荐算法
▪Logtype    ▪关于端口号你知道多少!    ▪Linux基本操作 1-----命令行BASH的基本操作
▪CI8.7--硬币组合问题    ▪Ruby on Rails 学习(五)    ▪如何使用W5300实现ADSL连接(二)
▪不允许启动新事务,因为有其他线程正在该会...    ▪getting start with storm 翻译 第六章 part-3    ▪递归求排列和组合(无重复和有重复)
▪工具类之二:RegexpUtils    ▪Coding Interview 8.2    ▪Coding Interview 8.5
nosql iis7站长之家
▪Softmax算法:逻辑回归的扩展    ▪最小生成树---Kruskal算法---挑战程序设计竞赛...    ▪J2EE struts2 登录验证
▪任意两点间的最短路径---floyd_warshall算法    ▪Sqoop实现关系型数据库到hive的数据传输    ▪FFMPEG采集摄像头数据并切片为iPhone的HTTP Stream...
▪Ubuntu 13.04 – Install Jetty 9    ▪TCP/IP笔记之多播与广播    ▪keytool+tomcat配置HTTPS双向证书认证
▪安装phantomjs    ▪Page Redirect Speed Test    ▪windows media player 中播放pls的方法
▪sre_constants.error: unbalanced parenthesis    ▪http headers    ▪Google MapReduce中文版
▪The TCP three-way handshake (connect)/four wave (closed)    ▪网站反爬虫    ▪Log4j实现对Java日志的配置全攻略
▪Bit Map解析    ▪Notepad 快捷键 大全    ▪Eclipse 快捷键技巧 + 重构
▪win7 打开防火墙端口    ▪Linux Shell脚本入门--awk命令详解    ▪Linux Shell脚本入门--Uniq命令
▪Linux(Android NDK)如何避免僵死进程    ▪http Content-Type一览表    ▪Redis实战之征服 Redis + Jedis + Spring (二)
▪Tomcat7.0.40 基于DataSourceRealm的和JDBCRealm的资源...    ▪利用SQOOP将ORACLE到HDFS    ▪django输出 hello world
▪python re    ▪unity3D与网页的交互    ▪内存共享基本演示
▪python join    ▪不再为无限级树结构烦恼,且看此篇    ▪python实现变参
▪打开文件数限制功能不断地制造问题    ▪Arduino Due, Maple and Teensy3.0 的 W5200性能测试    ▪Selenium实例----12306网站测试
▪基于协同过滤的推荐引擎    ▪C4.5决策树    ▪C#HTTP代理的实现之注册表实现
▪nosql和关系型数据库比较?    ▪如何快速比较这两个字符串是否相等?    ▪hdoj 1863 畅通工程 最小生成树---prime算法
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3