02 2014 档案

Java 抓取网页内容
摘要:前两天想写一段自动提取微博状态的代码。据我所知,实现这个功能即可以用PHP写,也可以用Java写。我认为用Java写调试方便一点,PHP的脚本还要上传到服务器什么的。代码很简单的,新建一个java.net包的URL类的对象,以这个url做为写入源,内容保存在字符串中。然后新建一个文件,把字符串写出即可。不过要注意,不同网站使用不同的编码字。现在大多数的网站使用utf-8字符编码,基于wordpress搭建的网站都是使用这种编码字符的。但是,很多中文网站,包括网易等门户网站,还是使用gb2312编码。一方面gb2312的历史比utf-8要久一些,早期的中文网站以gb2312搭建,现在再修改工作量 阅读全文
posted @ 2014-02-28 10:39 KK4SBB 阅读(686) 评论(0) 推荐(0)
Jdbc 连接MySQL数据库的方法和问题
摘要:用eclipse写代码。编译之前,先右键点击项目,选择Build Path->library->add external library, 到MySQL网站下载MySQL的Jdbc驱动,把它添加到项目里,否则会报错“error. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver”。具体的代码如下:Driver.forClass(com.mysql.jdbc.Driver);Connection conn = DriverManager. getConnection(“jdbc:mysql://www.localhost. 阅读全文
posted @ 2014-02-28 10:38 KK4SBB 阅读(323) 评论(0) 推荐(0)
Matlab神经网络工具箱学习之一
摘要:1、神经网络设计的流程2、神经网络设计四个层次3、神经网络模型4、神经网络结构5、创建神经网络对象6、配置神经网络的输入输出7、理解神经网络工具箱的数据结构8、神经网络训练1、神经网络设计的流程 神经网络设计可以分为七个步骤: a. 采集数据 b. 创建网络 c. 配置网络参数 d. 初始化权重和偏置 e. 训练神经网络 f. 验证网络 g. 使用网络2、神经网络设计四个层次 这里的层次主要只Matlab的神经网络工具箱和相关命令 a. 第一层是“Getting Started with Neural Network Toolbox”里面提到... 阅读全文
posted @ 2014-02-28 10:32 KK4SBB 阅读(2836) 评论(0) 推荐(0)
台式机电源改直流稳压源方法
摘要:稳压电源是测试电路必不可少的工具。驱动小功率的电路,一般可以用电脑的USB接口,外面的两根线是正电源和地线,电压5伏,驱动电流大约500毫安。如果负载电流超过1A怎么办?一般可以买一个稳压电源或者做一个电源。但是一个30V、5A的稳压源也要至少250元,有点贵。常用的直流电压也就是3.3V、5V、12V、18V。所以,就可以用台式机的电源来改造。现在台式机的电源一般是ATX电源。ATX电源的主要特点是它没有传统的机械开关。ATX电源连接主板的是一个24脚的接口,也有20脚的。以20脚为例,引脚排布如下图。主板接口的第14脚是PS_ON,当14脚是高电平时,电压大于4.5V,电源关闭,低电平时, 阅读全文
posted @ 2014-02-28 10:31 KK4SBB 阅读(2198) 评论(0) 推荐(0)
VGA DVI HDMI区别
摘要:VGA,DVI,HDMI是目前常用的3种不同显示接口的名称。在树莓派的边缘既有HDMI的接口,也有RCA的接口,而显示器上也是既有DVI,又有VGA。上个月买连接线,没有仔细检查买了一根HDMI对VGA的接线。今天把它接到树莓派和显示器,发现显示器输入的信号不正常。再查找资料,原来HDMI是输出数字信号,VGA是输出模拟信号,怪不得显示不正常。于是,就在百度上找了一篇介绍三种接口的文章。VGA简介 VAG接口是我们最常见的,也是比较普通的接口。VGA的英文全称是Video Graphic Array,即显示绘图阵列。VGA支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同. 阅读全文
posted @ 2014-02-28 10:30 KK4SBB 阅读(1530) 评论(0) 推荐(0)
图像处理之face morphing
摘要:以前在论坛、微博经常看到一张脸,五官长得像A,脸型似乎又是B,觉得很有意思。比如像这张图片。这张图片应该是网友用Photoshop完成的,他们取了郭大爷的五官,放在金元帅的脸上,在把边缘处理平滑。而上面这张图片是另外一种效果,它不仅改变了五官,连脸型轮廓也一起改变了。这种技术称为face morphing,这篇随笔就聊一聊它吧。Morphing是指把一张照片变换成另一张照片,中间的变换过程如行云流水一般自然。Cross-Disolve最方便的方法是像素值叠加,第一幅照片的像素值乘以系数k,加上第二幅照片的对应像素值乘以系数(1-k)。这个方法尽管操作方便,但是效果并不好。首先,要把两幅照片的尺 阅读全文
posted @ 2014-02-28 10:14 KK4SBB 阅读(7808) 评论(1) 推荐(0)
ZOJ 1068 P,MTHBGWB
摘要:原题链接题目大意:给定一个字符串,先用Morse Code编码,把编码倒序,再解码成字符串。现给定处理后的字符串,求原始信息。解法:用C++String类的函数。每次读入一个字符,就在string后面接上,并且保存字符对应morse码的长度。这里要声明一下,真正的morse码也是有句号、问号这些常用标点符号的,但不是题目里给出的那种形式。比如,句号是“.-.-.-”。参考代码:#include#includeusing namespace std;string code[30]={".-","-...","-.-.","-. 阅读全文
posted @ 2014-02-27 00:25 KK4SBB 阅读(460) 评论(0) 推荐(0)
ZOJ 1074 To the Max
摘要:原题链接题目大意:这是一道好题。在《算法导论》这本书里面,有一节是介绍如何求最大子序列的。这道题有点类似,区别是从数组变成了矩阵,求最大子矩阵。解法:完全没有算法功底的人当然不知道最大子序列这么经典的东西。所以先请教Google。我是参考了这篇文章的,tengpi.blog.163.com/blog/static/22788264200772561412895/。大意就是另开辟一个同样大小的矩阵,每个元素存放自左侧第一列到该元素的和。然后在纵向上用最大子序列的类似方法计算。参考代码:/* tengpi.blog.163.com/blog/static/227882642007725614128 阅读全文
posted @ 2014-02-27 00:25 KK4SBB 阅读(339) 评论(0) 推荐(0)
ZOJ 1061 Web Navigation
摘要:原题链接题目大意:模拟一个浏览器,打开一个网页、后退或者前进,输出网址。解法:用两个堆栈分别表示后退保存的网页和前进保存的网页。初始化时把当前页面压入后退堆栈的栈顶。要注意几点,一个是每次记得要清空两个堆栈,另一个,如果后退之后又打开了新的网页,前进的堆栈要清空,这和真实的浏览器的结果是一致的。参考代码:#include#include#includeusing namespace std;stack back;stack forw;int main(){ int n; cin>>n; while(n--){ string cmd,url="http://www.acm. 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(398) 评论(0) 推荐(0)
ZOJ 1101 Gamblers
摘要:原题链接题目大意:一群人聚众赌博。每个人先分别押注不同的金额,可以相互借钱。开奖之后,如果某个人的押注的金额正好等于任何其他三个人金额总和,那这个人就赢得其他三个人的赌注。如果同时有两个以上的赢家,押注金额最大的那个人是最终的赢家。首先输入玩家的个数,然后输入每个玩家的押注金额,经过运算输出赢家的财富(或者 no solution)。解法:参考代码:参考了下面链接的文章。首先,对所有押注金额进行从小到大排序,然后用枚举法试。因为并列的赢家取押注最多的获胜,所以从后往前试赢家的押注金额。稍作分析可知三个数当中,至少要有一个数在目标数的左边(小于),另外两个数可能在左边,也可能在右边(因为押注金额 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(296) 评论(0) 推荐(0)
ZOJ 1078 Palindrom Numbers
摘要:原题链接题目大意:判断一个数是不是palindrom。不限于十进制,可以在任何进制下判断。解法:还好,数字的范围不大,int类型足够搞定。方法就是从2进制开始,先把数字转换成2进制,判断是否对称,然后转换成3进制,直到16进制。这里的进制转换方法可以留意一下。参考代码:#includeusing namespace std;bool isPalindrom(int, int);int main(){ int i,n; while(cin>>n&&n!=0){ bool base[17]={false}, flag=false;; for(i=2;i<=16;i 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(583) 评论(0) 推荐(0)
ZOJ 1090 The Circumference of the Circle
摘要:原题链接题目大意:已知三角形的三个顶点坐标,求其外接圆的周长。解法:刚看到这道题时,马上拿出草稿纸画图,想推导出重心坐标,然后求出半径,再求周长。可是这个过程太复杂了,写到一半就没有兴致了,还是求助于Google。在Wiki百科找到一个已知三条边长度,求外接三角形周长的算法,diameter = abc/2*(sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2。问题瞬间简化了,求两点距离是很方便的一件事,然后套用这个公式就可以了。参考代码:#include#include#include#define PI 3.141592653589793using namespace s 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(301) 评论(0) 推荐(0)
ZOJ 1151 Word Reversal
摘要:原题链接题目大意:给一句话,把每个单词倒序,然后输出。解法:我是用了一个堆栈,以空格来拆分单词,把每个字母压入堆栈,然后依次输出。参考代码:/** 字符串反向,140ms,188kb* 单词反向用堆栈是比较方便的,一个个压入,遇到空格再一个个弹出* 但是不知道为什么耗时这么多,大批的人都是0ms,160kb,难道用字符串处理效率高这么多?*/#include#include#include#includeusing namespace std;int main(){ int i,j,n,cases; string str; char *p,c[80]; stack word; cin>& 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(411) 评论(0) 推荐(0)
ZOJ 1076 Gene Assembly
摘要:原题链接题目大意:首先学习一个生物学的单词,exon:外显子,DNA序列中能够翻译表达的片段。给出很多外显子的起始点和终点,求寻找包含最多外显子的一条链,并且输出这些外显子的编号。解法:先把所有外显子按照起始点的先后排序,相同起始位置的则看终止位置。然后就是一个一个查找,如果当前外显子的终点在下一个外显子之后,就跳过当前的;否则就输出当前外显子的编号。这里使用了vector来存储外显子。写了一段判断大小的代码,作为sort()函数的判断条件,有必要做个标记。参考代码:#include#include #include #includeusing namespace std;struct Exo 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(511) 评论(0) 推荐(0)
ZOJ 1056 The Worm Turns
摘要:原题链接题目大意:贪吃蛇的简化版,给出一串操作命令,求蛇的最终状态是死是活。解法:这条蛇一共20格的长度,所以用一个20个元素的队列表示,队列的每个元素是平面的坐标。每读入一条指令,判断其是否越界,是否咬到了自己。若都没有,把改点压入队列,front元素弹出。参考代码:#include#include#includeusing namespace std;struct Point{ int r; int c;};queue worm;bool isItself(queue,Point);int main(){ int i,n; char str[102]; Point temp; char x 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(428) 评论(0) 推荐(0)
ZOJ 1089 Lotto
摘要:原题链接题目大意:有一种抽奖游戏乐透(Lotto),规则是从1到49这49个自然数中随机抽取6个数。现在有一种简化版的游戏,先在49个数里面选出k(6解法:输入的数字已经按照升序排列好了。数字范围不大,最多也就是13选6,所以可以暴力破解法。六层for循环解决问题。如果数据量再大的话,就要用深度优先搜索了。参考代码:#includeusing namespace std;int main(){ int k,i,s[13]={0}; int a,b,c,d,e,f; bool first=true; while(cin>>k&&k!=0){ if(!first){ c 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(305) 评论(0) 推荐(0)
ZOJ 1092 Arbitrage
摘要:原题链接题目大意:Arbitrage这个单词的解释是“套利交易”,就是利用几个币种之间的汇率差价来赚钱。比如人民币兑美元6:1,美元兑欧元1.5:1,欧元兑人民币10:1,那么用9元人民币可以换1.5美元,1.5美元换1欧元,1欧元换10元人民币。这样一倒手,就赚了1元。这是闷声发大财的典型例子!解法:在做这道题的时候,又学会了一种新的算法(Floyd算法)。具体过程是开辟一个方阵,每行每列都对应一种货币,每个元素就是横纵两种货币的汇率。然后是一个三层循环,最外层的循环是表示过度节点的,这一层必须放在最外面,里面两层是行和列的扫描。如果经过某一个过渡点汇率增加了,就更新这个节点。这里还要注意一 阅读全文
posted @ 2014-02-27 00:24 KK4SBB 阅读(432) 评论(0) 推荐(0)
ZOJ 1125 Floating Point Numbers
摘要:原题链接题目大意:给一个16位的数字,表示一个浮点数,按照规则转换成科学计数法表示。解法:注释比较清楚了,注意浮点运算的四舍五入问题。参考代码:#include#include#include#include#includeusing namespace std;int main(){ char in[16],out[16]; int i,j,n,exp,man,zero; double num; cout10-1e-6){ while(num>10-1e-6){ num/=10; exp++; } } else if(num=0){ cout-10)cout<<... 阅读全文
posted @ 2014-02-27 00:23 KK4SBB 阅读(222) 评论(0) 推荐(0)
ZOJ 1188 DNA Sorting
摘要:原题链接题目大意:给定一串字符串,查找字符串里字母逆序排列的对数,按照由少到多的顺序把所有字符串进行排列。解法:用C++字符串string类的iterator,从每个字符串的起始开始,查找逆序字符的个数,然后用qsort方法按照reverseCount的大小快速排序。参考代码:#include#include#include#include#includeusing namespace std;struct DNAStr{ int index,reverseCount; string str;}DNA[102];int countReverse(string s){ int num = 0; 阅读全文
posted @ 2014-02-27 00:23 KK4SBB 阅读(366) 评论(0) 推荐(0)
ZOJ 1042 W’s Cipher
摘要:原题链接题目大意:按照规则解码。26个字母分成三组,每一组按照顺时针移位编码。现在已知移动的位数,要求解码。解法:以前看过一本古典密码学的书,百度贴吧密码吧也有很多经典的加密方法,想什么凯撒移位、弗吉尼亚编码等等。古典密码学比现代密码学有趣多了。这道题可以开三个队列,先把字符串压入对应的队列,然后调整顺序,再合成输出。不难,稍烦。参考代码:#include#include#include#includeusing namespace std;int main(){ int k1,k2,k3,i,len,pos[100]; char str[100],c; queue s1; queue s2; 阅读全文
posted @ 2014-02-27 00:23 KK4SBB 阅读(475) 评论(0) 推荐(0)
ZOJ 1048 Financial Management
摘要:原题链接题目大意:给出12个月的收入,求一个平均值。解法:没什么好说的,就是一个除法。参考代码:#includeint main(){ int i; float sum=0,k; for(i=0;i<12;i++){ scanf("%f",&k); sum+=k; } sum=sum/12; printf("$%.2f",sum); return 0;} 阅读全文
posted @ 2014-02-27 00:23 KK4SBB 阅读(283) 评论(0) 推荐(0)
ZOJ 1067 Color Me Less
摘要:原题链接题目大意:一道类似于简单图像压缩的题目。给定一个调色板,然后把24位真彩色按照就近原则聚类。解法:每个像素的色彩都是RGB三个值,相当于三维空间的一个点。所以当一个新的像素进来时,分别和调色板中的每一个颜色求欧式距离,距离最近的那个点就是应该归属的那个类。参考代码:#include#include#define R 0#define G 1#define B 2int target[16][3];int main(){ int i,j,min,index; int RGB[3]; float dist; for(i=0;i<16;i++){ scanf("%d%d%d& 阅读全文
posted @ 2014-02-27 00:23 KK4SBB 阅读(285) 评论(0) 推荐(0)
ZOJ 1088 System Overload
摘要:原题链接题目大意:浙大的破网络容量有限,太多人同时使用BBS就会系统崩溃。为了保持系统正常工作,过载时就需要切断部分用户。规则是把玉泉所有的建筑从1到n编号,设定一个常数m。从1开始数,第m幢建筑的网络被切断,然后再从1开始继续往下数。数到n之后回到第1幢。曹光彪大楼的编号是2,这是计算机学院的大本营。此题的目的就是根据上述规则,确定常数m,使得曹楼是全校最后一幢被切断网络的建筑。解法:在数学界有一个经典的约瑟夫环问题(Josephus Problem)。约瑟夫环问题是这样的,有n个人围成一个圈,分别编号为1,2,3…n,从第1个人开始报数,报到偶数的人出列,剩下的人继续,直到仅剩最后一个人位 阅读全文
posted @ 2014-02-27 00:22 KK4SBB 阅读(602) 评论(0) 推荐(2)
ZOJ 1178 Booklet Printing
摘要:原题链接题目大意:书本印刷都是用大开的纸张对折。比如一个册子一共4页,为了方便装订,外侧印刷1、4页,内侧印刷2、3页,这样对折之后就可以按照正常阅读习惯翻页了。此题目的就是给出书的总页数,要求计算每张纸正反面应该印刷什么内容。解法:不难,但是略微繁琐。先计算需要的纸张数量,然后分别计算正反面的内容。如果书本页码很少,第一张和第二张纸比较特殊,需要单独列出来,其他内页按照公式推算。参考代码:#includeusing namespace std;int main(){ int n,i,j,k,sheet,r; while(cin>>n&&n!=0){ sheet=( 阅读全文
posted @ 2014-02-26 13:59 KK4SBB 阅读(387) 评论(0) 推荐(0)
ZOJ 1107 FatMouse and Cheese
摘要:原题链接题目大意:FM在一个街道n*n街道的(0,0)点,在每个网格里放着cheese,他要尽可能多的吃这些cheese。有两个规则:1)他跑的总距离不能超过k步;2)下一个节点的cheese的块数必须超过这个节点。解法:题目是去年秋天做的,现在看了下貌似就是用一下广搜,从原点开始一个个查找。我直接把当时的代码贴过来了,看看当时写的注释,发现暑假都过了一半了,算法都没有总结好。惭愧了。参考代码:#includeusing namespace std;int n,k,x,y,block[102][102],dp[102][102];int a[4][2]={{1,0},{-1,0},{0,1}, 阅读全文
posted @ 2014-02-26 13:59 KK4SBB 阅读(426) 评论(0) 推荐(0)
ZOJ 1099 HTML
摘要:原题链接题目大意:按照HTML的语法处理一段字符。这道题算是字符串类型的经典,熟练之后可以做一个简单的html解析器了。解法:没什么好说的,直接代码。参考代码:#include#includeusing namespace std;void hr(){ cout>str){ if(str==""){ br(); len=0; } else if(str==""){ if(len)cout<<endl; hr(); len=0; } else{ if(len+str.size()<80){ if(len!=0)cout<< 阅读全文
posted @ 2014-02-26 13:59 KK4SBB 阅读(274) 评论(0) 推荐(0)
ZOJ 1115 Digital Roots
摘要:原题链接题目大意:给一个数字,每一位相加求和,不断重复过程,直到剩一位数字。解法:考虑到输入的数字可以很大,把输入按照字符串格式读入,再逐位处理。参考代码:#include #include using namespace std;int main(){ string str; int sum,sum2,i; while(cin>>str&&str!="0"){ sum=0; for(i=0;i0){ sum2+=sum%10; sum/=10; } if(sum2=10); } return 0;} 阅读全文
posted @ 2014-02-26 13:58 KK4SBB 阅读(221) 评论(0) 推荐(0)
ZOJ 1113 u Calculate e
摘要:原题链接题目大意:迭代求自然常数e。解法:没什么好说的,注意数据类型和输出格式。参考代码:#include#includeint main(){ int n=0; double fact,ee; printf("n e\n"); printf("- -----------\n"); printf("0 1\n1 2\n2 2.5\n"); ee=2.5; fact=2; for(n=3;n<10;n++){ printf("%d ",n); fact*=n; ee=ee+1/fact; printf(&quo 阅读全文
posted @ 2014-02-26 13:58 KK4SBB 阅读(162) 评论(0) 推荐(0)
ZOJ 1105 FatMouse’s Tour
摘要:原题链接题目大意:FM要去逛街,他可以走任何街道,在任何路口转弯。他走一条陌生街道的速度是20公里每小时,走一条熟悉街道的速度是50公里每小时。输入是街道信息,输出消耗时间。解法:本质就是浮点运算,求两点间距离。参考代码:#include#include#include#includeusing namespace std;int main(){ int x0,y0,x1,x2,y1,y2,time; double dist=0.0,d; string str; char *p; while(cin>>x0>>y0){ //x0,y0 is useless, but s 阅读全文
posted @ 2014-02-26 13:58 KK4SBB 阅读(363) 评论(0) 推荐(0)
ZOJ 1095 Humble Numbers
摘要:原题链接题目大意:定义了一种数字Humble Number,他们的质因数只包含2、3、5、7中的一个或者几个,求第n个这样的数,1#include#includeusing namespace std;int main(){ double seven,five,three,two; int a,humber[5842]={0},n=0; for(seven=1;seven>a)&&a!=0){ if(a%10==1&&a%100!=11){ //!!! cout format cout<<"The "<<a< 阅读全文
posted @ 2014-02-26 13:58 KK4SBB 阅读(247) 评论(0) 推荐(0)
ZOJ 1041 Transmitters
摘要:原题链接题目大意:有一个发射站,覆盖范围是半径一定的一个半圆。在一个1000*1000平方米的地盘里有很多接收站。给定发射站的圆心,求最佳角度时能覆盖接收站的个数。解法:本质上就是给一个原点和其他若干点,找出一个可以覆盖最多点的半圆。用了两个函数判断,一个是判断两点之间的距离,即该点到原点的距离是否在半径之内,筛选出第一步满足的点。另一个是判断两个点A、B是否在同一个半圆内,其实先确定一条直线AO,然后规定B点在AO的左侧就算在半圆内。每个点都遍历一次,找出最大值即可。参考代码:#include#includeusing namespace std;bool isInclude(int xx, 阅读全文
posted @ 2014-02-26 13:58 KK4SBB 阅读(271) 评论(0) 推荐(0)
ZOJ 1049 I Think I Need a Houseboat
摘要:原题链接题目大意:Fred想在Louisiana买一套房子,但是堤坝不牢固,每年都要被河水侵蚀50平方英里。题目给出他豪宅的坐标,要求他被迫移民搬迁的年份。解法:也没什么好说的,先求出两点间的距离,即半径,然后算出面积,在除以每年塌方的面积,向上取整即可。参考代码:#include #include #define PI 3.14int main(){ int n=1,N,year; float X,Y,dist,area; scanf("%d",&N); while(n<=N){ scanf("%f%f",&X,&Y); 阅读全文
posted @ 2014-02-26 13:57 KK4SBB 阅读(324) 评论(0) 推荐(0)
ZOJ 1045 HangOver
摘要:原题链接题目大意:叠扑克牌,给出伸出长度,问最多需要几张扑克牌。解法:循环累加。退出循环后向上取整输出。参考代码:#includeusing namespace std;int main(){ double i,len,sum; while(cin>>len&&len!=0.00){ sum=0.0; i=2; while(sum<len){ sum+=1/i; i++; } cout<<int(i+0.5)-2<<" card(s)"<<endl; } return 0;} 阅读全文
posted @ 2014-02-26 13:57 KK4SBB 阅读(312) 评论(0) 推荐(0)
ZOJ 1037 Gridland
摘要:原题链接题目大意:给出一个格子图,求走完所有节点的最短路径距离。解法:简单啊,如果都是奇数,可以走一次斜边,其他情况就是长*宽。参考代码:#include int main(){ int i,k,m,n; double result; scanf("%d",&k); i=1; while(i<=k){ scanf("%d%d",&m,&n); printf("Scenario #%d:\n",i); if(m%2==0||n%2==0){ result = m*n; printf("%.2f\n 阅读全文
posted @ 2014-02-26 13:57 KK4SBB 阅读(247) 评论(0) 推荐(0)
ZOJ 1205 Martian Addition
摘要:原题链接题目大意:大数,20进制的加法计算。解法:convert函数把字符串转换成数组,add函数把两个大数相加。参考代码:#include#includechar* Digit="0123456789abcdefghij";void convert(char*,int*);void add(int*,int*,int*);void print(int*);int main(){ char str1[101],str2[101]; while(scanf("%s",str1)!=EOF&&scanf("%s",str2 阅读全文
posted @ 2014-02-26 13:56 KK4SBB 阅读(366) 评论(0) 推荐(0)
ZOJ 1216 Deck
摘要:原题链接题目大意:1/2+1/4+1/6+…1/n解法:直接累加即可。参考代码:#includeint main(){ printf("# Cards Overhang\n"); double extend; int n,i; while(scanf("%d",&n)!=EOF){ extend=0.5; for(i=1;i<n;i++) extend+=0.5/(i+1); printf("%5d%10.3lf\n",n,extend); } return 0;} 阅读全文
posted @ 2014-02-26 13:56 KK4SBB 阅读(184) 评论(0) 推荐(0)
ZOJ 1240 IBM Minus One
摘要:/*You may have heard of the book '2001 - A Space Odyssey' by Arthur C. Clarke, or the film of the same name by Stanley Kubrick. In it a spaceship is sent from Earth to Saturn. The crew is put into stasis for the long flight, only two men are awake, and the ship is controlled by the intellige 阅读全文
posted @ 2014-02-26 13:56 KK4SBB 阅读(239) 评论(0) 推荐(0)
ZOJ 1204 Additive equations
摘要:原题链接题目大意:给出一列数据,不多于30个。如果其中的两个或多个数之和等于这组数据中的另一个数,如{1,2,3}这个数组中存在等式1+2=3,输出这个等式。找出满足条件的所有等式。如果,找不到符合条件的,输出“Can’t find any equations.”。解法:把这个数组的所有数字排序。首先,从小到大开始累加数字,直到和超过数组的最大值,这样我们可以知道,等式左边最多可以有几个数字。然后,从两个加数开始,用深度优先的方法,从左往右搜索,寻找是否存在满足条件的等式。依次递增搜索的深度。参考代码://参考了这篇日志http://blog.csdn.net/scnu_jiechao/art 阅读全文
posted @ 2014-02-26 13:56 KK4SBB 阅读(493) 评论(0) 推荐(0)
ZOJ 1202 Divide and Count
摘要:原题链接题目大意:某人手上有一大批钻石,他同时有一些盒子恰好放下这些钻石,每个盒子可以放一个或多个,问一共有几种方法。解法:这其实是一道排列与组合计算题,主要是写出组合算法的代码,把计算公式转为程序。参考代码:#include#include#include#includeusing namespace std;int fact(int a){ //recursive factorial function if(a==1) return a; else return a*fact(a-1);}int main(){ int i,j,k,m,n,c,c1,c2,sum,ans; int num. 阅读全文
posted @ 2014-02-26 13:56 KK4SBB 阅读(231) 评论(0) 推荐(0)
ZOJ 1201 Inversion
摘要:原题链接题目大意:给一个数组{ A1,A2,…,An } ,要求生成另一个数组B1,B2,…,Bn,使得Bi表示的是在数组A中排在i前面大于i的数字的个数。题目的输入是数组A(字母P表示)或者数组B(字母I表示),要求输出对应的B或者A。解法:先读取首字母,如果是P,则调用permutation(),反之调用inversion()。permutation是按照正常方法寻找。inverse是先设置一个空的数组(相当于A数组),按照B数组的顺序一个个往‘A’中放。参考代码:#includeusing namespace std;void permutation();void inversion() 阅读全文
posted @ 2014-02-26 13:56 KK4SBB 阅读(370) 评论(0) 推荐(0)
ZOJ 1234 Chopsticks
摘要:原题链接题目大意:有这么一个公式 A,B,C(A using namespace std; int dp[5050][1010]; #define maxn 1>ncase; while(ncase--) { cin>>guests>>chopsticks; for(i = chopsticks;i >= 1;i--) cin>>a[i]; for(i = 1;i = j * 3) { dp[i][j] = dp[i - 1][j]; ... 阅读全文
posted @ 2014-02-26 13:55 KK4SBB 阅读(546) 评论(0) 推荐(0)
ZOJ1238 Guess the Number
摘要:/*In this problems, we’ll talk about BIG numbers. Yes, I’m sorry, big numbers again…. Let N be a positive integer, we call S=NN the “big big power” of N. In this time, I will calculate the exact value of S for a positive integer N. Then, I tell you S, you guess N.Note that I may make mistakes in cal 阅读全文
posted @ 2014-02-26 13:55 KK4SBB 阅读(238) 评论(0) 推荐(0)
ZOJ 1243 URLs
摘要:/*In the early nineties, the World Wide Web (WWW) was invented. Nowadays, most people think that the WWW simply consists of all the pretty (or not so pretty) HTML-pages that you can read with your WWW browser. But back then, one of the main intentions behind the design of the WWW was to unify severa 阅读全文
posted @ 2014-02-26 13:54 KK4SBB 阅读(353) 评论(0) 推荐(0)
ZOJ 1047 Image Perimeters
摘要:原题链接题目大意:鼠标点击一块,求与之联通的所有区域的边长之和。解法:广度优先搜索。从选中的这个点开始,往周围8个点依次搜索,访问过的点做上标记。如果该点上下左右的一个或多个方向没有相邻的点,边长+1。代码BSF函数中,有两个数组存放相邻8个点的坐标,这一段代码感觉很简洁,是从其他地方学习来的。参考代码:#include#include#include#includeusing namespace std;int r,c,x,y,i,j,ans;int visited[22][22],grid[22][22];char s;int BFS(int i,int j);struct Node{ i 阅读全文
posted @ 2014-02-26 13:54 KK4SBB 阅读(457) 评论(0) 推荐(0)
IP地址的分类
摘要:IP地址用二进制来表示,每个IP地址长32bit,4个字节。IP地址有两部分组成,一部分为网络地址,另一部分为主机地址。IP地址分为A、B、C、D、E5类。常用的是B和C两类。A类IP地址 A类IP地址范围:1.0.0.1-126.255.255.254一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,可以用于主机数达1600多万台的大型网络。A. 阅读全文
posted @ 2014-02-26 13:54 KK4SBB 阅读(349) 评论(0) 推荐(0)
ZOJ 1241 Geometry Made Simple
摘要:/*Mathematics can be so easy when you have a computer. Consider the following example. You probably know that in a right-angled triangle, the length of the three sides a, b, c (where c is the longest side, called the hypotenuse) satisfy the relation a*a+b*b=c*c. This is called Pythagora’s Law.Here w 阅读全文
posted @ 2014-02-26 13:54 KK4SBB 阅读(159) 评论(0) 推荐(0)
ZOJ 1029 Moving Tables
摘要:原题链接题目大意:走廊两边排列了400个房间,要在两个房间之间搬桌子。搬桌子的时候会占用一部分走廊,有冲突的话要回避。求最快搬完的时间。解法:开辟一个数组,每占用一段走廊,就把相应的房间号的元素加1,最后整个数组中最大的数就是结果。注意,房间是排列在走廊两边的,所以数组的大小是400/2,而不是200。参考代码:#includeusing namespace std;int main(){ int i,m,n,a,b,t; cin>>n; while(n--){ cin>>m; int room[201]={0}; //重复使用的寄存器一定要记得把上一次的结果清空 wh 阅读全文
posted @ 2014-02-26 13:54 KK4SBB 阅读(352) 评论(0) 推荐(0)
ZOJ 1024 Calendar Game
摘要:原题链接题目大意:2001年11月4日是一个黄道吉日,有两个人做游戏,看谁先数到这个日子。可以往后数一天,比如2号到3号,30号到31号,也可以往后数一个月。给出一个起始的日子,求能否保证先开始游戏的人必胜。解法:一开始一直在找规律,往前推算了两个月,没有发现规律。后来Google了一下,发现有个很巧妙的方法。日期或者月份每增加一次,日期+月份的奇偶性就会改变一次,所以一个回合之后奇偶性是不发生变化的。11+4=15是偶数,只要保证开始的日期+月份是偶数,先数的人就可以赢。但是,有几个特例。2月28日是偶数,3月1日也是偶数,奇偶性没有发生变化。同样的,9月30日、11月30日的后一天也是奇数 阅读全文
posted @ 2014-02-26 13:53 KK4SBB 阅读(325) 评论(0) 推荐(0)
动态规划 -- 01背包问题
摘要:题目 有N件物品和一个容量为V的背包。第i件物品的费用是c,价值是w。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[v]=max{f[v],f[v-c]+w}。这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出来的。所以有必要将它详细 解释一下:“将前i件物品放入容量为v的背包中”这个子问题,若只考虑第i件物品的策略(放或不放),那么就可以转化为一个只牵... 阅读全文
posted @ 2014-02-26 12:31 KK4SBB 阅读(271) 评论(0) 推荐(0)
Kmeans算法的应用实例(Matlab版本)
摘要:K-means是一种经典的聚类算法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。假设要把样本集分为c个类别,算法描述如下: (1)适当选择c个类的初始中心; (2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类; (3)利用均值等方法更新该类的中心值; (4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。 该算法的最大优势在于简洁和快速。算法的关键在于初始中心... 阅读全文
posted @ 2014-02-26 12:28 KK4SBB 阅读(6449) 评论(2) 推荐(0)
Matlab优化存储器读写来改善程序性能
摘要:最近用Matlab写程序的时候终于遇到了程序执行效率的问题,于是在Google上面搜索了一篇提高代码性能的文章,简单的概括一下。文章是通过优化寄存器读写来提高执行速度的,主要体现在三个方面:在做循环计算之前先分配好内存空间;用列向量存取数据;避免创建不必要的变量。Matlab并不需要程序员实现定义变量的数据类型和大小。但是,如果事先不分配一段空间,每经过一次for循环,数组x的大小都会改变,这就需要新建一个数组并且把原来的数组复制到新的数组,增加了运算时间。计算机内存存储二维数据是按照列的顺序保存,先存第一列,再存第二列,以此类推。所以按照列来读取数据会提高速度。用了两张图标来展示这个方法的效 阅读全文
posted @ 2014-02-26 12:26 KK4SBB 阅读(432) 评论(0) 推荐(0)
struct和typedef struct的区别
摘要:当typedef与结构结合使用时,会有一些比较复杂的情况,而且在C语言和C++里面有略有差别,因此从网上摘录了一些资料。1 首先:在C中定义一个结构体类型要用typedef:typedef struct Student{int a;}Stu;于是在声明变量的时候就可:Stu stu1;如果没有typedef就必须用struct Student stu1;来声明这里的Stu实际上就是struct Student的别名。另外这里也可以不写Student(于是也不能struct Student stu1;了)typedef struct{int a;}Stu;但在c++里很简单,直接struct S 阅读全文
posted @ 2014-02-26 12:24 KK4SBB 阅读(275) 评论(0) 推荐(0)
有趣的逻辑运算符
摘要:逻辑运算符号也是一种运算符号,比如&&(与)、||(或)和!(非)。一般自己在写C/C++程序的时候,通常用逻辑运算符做判断,if(A且B)或者while(A或B),很少用他们做算数运算。因为用逻辑运算符做算数运算,就要涉及到二进制数的每一个bit的值了。今天在找分段树算法的时候发现几个有趣的面试题,关于逻辑运算符的例子。第一个是y=x&&(-x)。这个式子的返回值是最后一位“1”以及其后所有“0”组成的数。比如,设x=40,用二进制表达就是x=00101000。-x=-40,负数在计算机里是用补码表示的(补码就是反码加一,反码是原码取反),-x=1101100 阅读全文
posted @ 2014-02-26 12:23 KK4SBB 阅读(558) 评论(0) 推荐(0)
Matlab GUI设计中的一些常用函数
摘要:Matlab GUI常用函数总结% — 文件的打开、读取和关闭% — 文件的保存% — 创建一个进度条% — 在名为display的axes显示图像,然后关闭% — 把数字转化为时间格式% — checkbox的callback函数% — 图像识别处理相关的两个函数% — 点击图像,调用函数% — montage% --- 文件的打开、读取和关闭 --- try [FileName,PathName] = uigetfile('*.raw','Select an image file'); FID = fopen(strcat(PathName,FileName 阅读全文
posted @ 2014-02-26 12:17 KK4SBB 阅读(2526) 评论(0) 推荐(0)
This application failed to start because it could not find or load the Qt platform plugin “windows”错误解决方法
摘要:这是一个困扰我很久的问题,关于Qt下生成的exe文件在没有安装Qt的机器上无法运行的问题。Qt是编写C++图形界面的一个很好工具,比MFC来的直观。可是,Qt的安装却是一个让人头疼的事情。早在上个学期,我就在windows XP 系统下安装了Qt 4.8,用破解版的msvc 2010编译。安装过程中出现了多次“configure is not an internal or external command”之类的问题,安装卸载了多次,好在最后可以使用。之后又安装了破解版的ipp包,当我把生成的exe文件移到另一台电脑上安装使用时,总是提示缺少dll,或者XXX错误。鉴于都是破解版的软件,我不知 阅读全文
posted @ 2014-02-26 12:17 KK4SBB 阅读(38630) 评论(2) 推荐(1)
如何优雅的写C++代码(一)
摘要:// get the greatest power of two that is a divisor of n: return n&-n; // swap two integers a and b: a^=b^=a^=b; a^=b, b^=a, a^=b; // check whether a (nature number > 1) is a power of two or not: return ( ! ( x & (x-1))); return (x&-x) == x; // count number of bits set in v: for( int i 阅读全文
posted @ 2014-02-26 12:15 KK4SBB 阅读(463) 评论(0) 推荐(0)
Color Map的生成方法
摘要:/* Return a RGB colour value given a scalar v in the range [vmin,vmax] In this case each colour component ranges from 0 (no contribution) to 1 (fully saturated), modifications for other ranges is trivial. The colour is clipped at the end of the scales if v is outside the range [vmin,vmax]*... 阅读全文
posted @ 2014-02-26 12:14 KK4SBB 阅读(1002) 评论(0) 推荐(0)
加色法和减色法
摘要:这是因为两种颜色的产生方法不一样。一种是做加色法(additive),另一种是做减色法(Subtractive)。加色法是光源合成光线的原理。就像楼上同学说的,显示屏是一个光源,本身可以发出红、绿、蓝三种颜色的光线。通过调节红、绿、蓝三种颜色的强度,来合成其它。减色法是物体表面反射光线的原理。一些物体可以反射所有波长的光线,比如白纸,所以我们看到画纸是白色的;而像用来画画的颜料只能反射一部分波长的光线,红色的颜料反射红色的光线,其余光线被颜料吸收了(减去了),所以我们只看到红色。加色法示意图。有红、绿、蓝三个光源叠加,我们在photoshop里设置(0,0,0)就相当于告诉显示屏把这个像素点红 阅读全文
posted @ 2014-02-26 12:13 KK4SBB 阅读(3373) 评论(0) 推荐(0)
无线电入门书籍推荐
摘要:政策法规类的书籍可以参考童效勇先生编写的《业余无线电通信 (豆瓣)》。因为无线电通信涉及到频率、功率、方式等限制,还有各种审批手续,国家的规矩很多很细。这本书详细介绍了申请呼号的流程,电台使用的规则,和相关的法律法规,内容很符合我们国情。技术类的书籍可以参考美国业余无线电联盟的推荐书籍。ARRL自己或者委托其他业余无线电爱好者编写了很多基础电路设计、射频电路设计、天线设计、短波通信、卫星通信等等的书籍。《无线电》杂志社又与ARRL协商并签订版权引进协议,获得了ARRL英文图书的中文出版权,国内的HAM们把它们翻译成中文版。ARRL推荐的书单和购买地址请戳这里:ARRL :: Technical 阅读全文
posted @ 2014-02-26 12:12 KK4SBB 阅读(3290) 评论(0) 推荐(1)
玩业余无线电的前期准备
摘要:转载自本人在知乎的回答作为上个月刚刚拿到呼号的人,我来抛砖引玉吧。架好天线,打开电台,按下PPT,开始呼叫:CQ, CQ, CQ, this is KK4SBB, kilo kilo four sierra bravo bravo, calling CQ.上面这句是业余无线电台操作时最常用的一句话,我就从它说开去吧。首先,CQ是英文单词seek you的简写。seek you的英文意思是我要找你,放在业余无线电通讯中的意思就是说呼叫频率上的任何人。呼叫三遍CQ,紧接着是自己的呼号。不论是在中国还是美国,根据法律规定每个业余电台操作员都必须先通过考试,取得操作证书和呼号,之后才能用电波联通。所以 阅读全文
posted @ 2014-02-26 12:11 KK4SBB 阅读(720) 评论(0) 推荐(0)
iPhone 上拨号键盘的发音规律
摘要:上个学期在信号处理课上选做的题目和这个问题正好相关。如焕杰同学所说,iPhone拨号音是使用双音多频信号(DTMF)。双音多频信号是贝尔实验室发明的,通常用于发送被叫号码,它取代了早起的脉冲拨号方法。和DTMF配合使用的是DTMF键盘,标准的是4X4的键盘,但是通常电话不需要16个按键,只有12个按键。每个按键都有一个横坐标和一个纵坐标,分别对应一个频率。传统的DTMF信号是用来在固话网络上在带内(跟语音通话公用信道)传输信息的。比如被叫号码或者其它信令(网上银行输入卡号密码等)。 而手机的类似信令由带外(跟语音信号分别传输)传输,相比较而言,更精确,也更安全(不存在被录音后破解的情况)。 为 阅读全文
posted @ 2014-02-26 12:08 KK4SBB 阅读(1439) 评论(0) 推荐(0)
matlab演奏最炫民族风的代码注释
摘要:用Matlab来放音乐,和用单片机加蜂鸣器放音乐的原理都差不多,就是把连续的声音信号事先转换成用数字信号,然后用扬声器按照一定的节奏放出来。换句话说,演唱者是把声音经过麦克风转换成电信号,录音设备对这个电信号按照一定的时间间隔(采样频率)进行采样,得到一长串数字。如果采样的频率高,即单位时间采样的点数多,同样长度的一首歌,得到的这串数字也越长。数字的大小表示电压的高低,也就是录制时声音的大小。这串数字就是原始的音频信号。链接里给出的那段Matlab代码的功能,就是模拟产生那串代表音频信号的数字,把这串数字交给数字模拟转换器,生成对应的电压信号,再由扬声器把这个电信号(电能)转变成声音信号(机械 阅读全文
posted @ 2014-02-26 12:05 KK4SBB 阅读(1404) 评论(0) 推荐(0)
matlab演奏《卡农》
摘要:% Cripple Pachebel’s Canon on Matlab% Have funfs = 44100; % sample ratedt = 1/fs;T16 = 0.125;t16 = [0:dt:T16];[temp k] = size(t16);t4 = linspace(0,4*T16,4*k);t8 = linspace(0,2*T16,2*k);[temp i] = size(t4);[temp j] = size(t8);% Modification functionsmod4 = sin(pi*t4/t4(end));mod8 = sin(pi*t8/t8(end)) 阅读全文
posted @ 2014-02-26 12:04 KK4SBB 阅读(711) 评论(0) 推荐(0)
西子浣纱 -- 浣纱河的故事
摘要:在杭州生活的知友们,你们是否知道上城区有一条“浣纱路”?浣纱路北起庆春路,往南到西湖大道,北向南单向通行。如果你走过这条路,我告诉你浣纱路下面其实是空心,整条路都是空的,你信吗?我相信,大多数和我年龄相仿的知友听到一定会觉得惊讶,浣纱路又没有规划地铁,怎么可能空心。其实,在40年前,杭州并没有这条路,当时是一条浣纱河。后面这张截图来自文革时期的一张杭州交通图。如果你对杭州熟悉,你会发现从现在的杭州大厦西面开始往南,沿武林路,穿过凤起路、庆春路和龙翔桥,在现在市一医院的位置折转沿现在的浣纱路,到开元路折西流入西湖这样一条河道。这就是老底子的浣纱河。你们看看这条河,从涌金门把西湖的水引出来,弯弯折 阅读全文
posted @ 2014-02-26 11:59 KK4SBB 阅读(1320) 评论(0) 推荐(0)
《城市记忆》– 杭州151路电车
摘要:由于道路改造、电车本身安全等原因,杭州的电车正在逐渐淡出城市交通,也许电车的慢慢淡出带有些许伤感和不甘,这都是这个城市交通的选择。不管未来151路电车是去是留,这都是城市发展进程中的一个选择,也是时代的选择。http://v.youku.com/v_show/id_XMzUyODg1MzA4.html钱报旧闻:杭州电车50岁生日快乐(2011年4月26日) 50年前的今天,时任杭州市副市长的顾春林剪开了红色的布幅。编号为“01”的1路电车如明星般披红挂彩,在人山人海的欢呼声中开了出去,两根长辫子划出两道长长的平行线。 从那一天起,无轨电车成为杭州城的一员,陪伴了杭州人整整50个春秋。 ... 阅读全文
posted @ 2014-02-26 11:55 KK4SBB 阅读(1184) 评论(0) 推荐(0)
ZOJ 1110 Dick and Jane
摘要:原题链接题目大意:Dick和Jane的年龄之和等于他们宠物的年龄,宠物之间的年龄关系XXX。解法:小学奥数题目,枚举法。参考代码:#include#includeusing namespace std;int main(){ int i,j,s,p,y,a,b,c; while(scanf("%d%d%d%d",&s,&p,&y,&j)!=EOF){ int flag=0; for(a=11+j;a>=s+p;a--){ for(b=p;b=b+s)&&(a=y+c)&&(a=c+p)&& 阅读全文
posted @ 2014-02-26 11:44 KK4SBB 阅读(511) 评论(0) 推荐(0)
ZOJ 1016 Parencodings
摘要:原题链接题目大意:有两串数字P和W。数组P中,数字P[i]表示第i个右括号之前的左括号个数。数组W中,数字W[i]表示在第i个右括号和与它匹配的左括号之间的右括号的个数(包括本身)。给出一个数组P,求对应的数组W。解法:开辟一个和括号对数相同大小的数组flag[],初始化0。从P数组读入一个数字a,若flag[a]不等于0,说明对应的左括号已经被用了,继续往前查找,直到找到第一个0.两个元素的下标之差+1就是他们间隔的右括号个数。参考代码:#include#includeusing namespace std;int main(){ int i,j,m,n,a,b; cin>>m; 阅读全文
posted @ 2014-02-26 11:28 KK4SBB 阅读(415) 评论(0) 推荐(0)
ZOJ 1007 Numerical Summation of a Series
摘要:原题链接题目大意:x的取值从0.000到2.000,输出每个x对应的y(x)的值解法:参考了这篇日志http://www.cnblogs.com/godhand/archive/2010/04/29/1723494.html。计算的公式文章里都推导了,关键是要把握好精度和运算效率的关系。分母中含有k的多项式越多,相同循环次数的结果的精度就越高。最后,还要加上一个误差项,没有这一项可能还是要WA。参考代码:#include#includeint main(){ double x,sum; int i,j; for(x=0.0;x<=2.0;x=x+0.001){ sum = 0; ... 阅读全文
posted @ 2014-02-26 11:27 KK4SBB 阅读(510) 评论(0) 推荐(0)
ZOJ 1005 Jugs
摘要:原题链接题目大意:有一大一小两个杯子,相互倒水,直到其中一个杯子里剩下特定体积的水。描述这个过程。解法:因为两个杯子的容积互质,所以只要用小杯子不断往大杯子倒水,大杯子灌满后就清空,大杯子里迟早会出现需要的体积的水。不过也有可能小杯子先剩下符合要求的体积的水。参考代码:#includeusing namespace std;int main(){ int ca,cb,n,q,r,i; int a,b; while(cin>>ca>>cb>>n){ a=0; b=0; while(1){ if(a==0){ a=ca; coutcb){ a=a+b-cb; b 阅读全文
posted @ 2014-02-26 11:26 KK4SBB 阅读(283) 评论(0) 推荐(0)
ZOJ 1002 Fire Net
摘要:题目大意:有一个4*4的城市,其中一些格子有墙(X表示墙),在剩余的区域放置碉堡。子弹不能穿透墙壁。问最多可以放置几个碉堡,保证它们不会相互误伤。解法:从左上的顶点开始遍历,如果这个点不是墙,做深度优先搜索,算出这种情况下的最多碉堡数。每做一次DFS,更新一次最大值。参考代码:#include#include#includeusing namespace std;char city[6][6];int i,j,n,ans,maxi,visited[6][6];void DSF();int find(int x,int y);int main(){ while(cin>>n& 阅读全文
posted @ 2014-02-26 11:25 KK4SBB 阅读(285) 评论(0) 推荐(0)
ZOJ 1001 A + B Problem
摘要:熟悉ZOJ环境,如何上传代码,如何查看结果。#includeusing namespace std;int main(){ int a,b; while(cin>>a>>b){ cout<<a+b<<endl; } return 0;} 阅读全文
posted @ 2014-02-26 11:23 KK4SBB 阅读(209) 评论(0) 推荐(0)