摘要: package lab01;import java.util.*;import java.math.*;import java.io.*;public class first { public static void main(String[] args) { String fileName = "E:/eclipse/mywork/in.txt"; try { File file = new File(fileName); Scanner workreader = new Scanner(file); ... 阅读全文
posted @ 2013-05-16 16:04 gray035 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 声明抽象基类Shape,由它派生出3个子类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别求出以上三者的面积,三个图形的数据在定义对象时给定。再设计一个函数sumArea,求出三个图形面积之和。要求用基类指针数组,使它的每一个元素指向一个派生类对象。View Code #include <iostream>#include <cmath>using namespace std;const double PI = acos(-1.0);class Shape {public: virtual double g 阅读全文
posted @ 2013-05-05 20:28 gray035 阅读(275) 评论(0) 推荐(0) 编辑
摘要: View Code /*判断素数和分解合数Miller-Rabin测试素数,Pollard_Rho分解质因子由于算法本身基于概率,所以存在TLE、WA的可能,多次提交即可*///////////////模板开始//////////////#include <ctime>#include <iostream>#include <algorithm>#include <cmath>using namespace std;#define M 1510#define N 100010#define inf 200000000long long facto 阅读全文
posted @ 2013-04-26 20:48 gray035 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 浙大校内赛的题目,现场比赛的时候只有出两题,后面的模拟题都没时间做了。题意:一辆汽车有个油箱,问他在经过n个加油站后能否到达目的地。每个加油站都有到下一加油站的距离和每升油的价格。就是模拟过程,假设你是开车的你会怎么做,当然是尽量多的使用便宜的油。具体做法见代码:View Code #include <stdio.h>#include <string.h>#include <string>#include <iostream>#include <algorithm>using namespace std;const int Max = 阅读全文
posted @ 2013-04-22 22:31 gray035 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 流迭代器(Stream Iterators)1 输出流迭代器(Ostream Iterators)输出流迭代器可以把指定的内容直接写入指定的ostream。Ostream Iterator的实现原理跟Insert Iterator非常相似,唯一的区别就是Ostream Iterator利用<<输出操作符把值输出到了ostream对象。通过流迭代器,算法就可以使用通用的迭代器接口把相应的内容输出到流对象。下面列出了Ostream Iterator可以进行的所有操作:操作表达式作用效果ostream_iterator(ostream)针对ostream创建一个Ostream Itera 阅读全文
posted @ 2013-04-22 22:23 gray035 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 后缀数组是处理字符串问题的有力工具。其中有些变量需要说明下,sa[i]是排名为第i的后缀所在字符串中的位置。height[i]表示sa[i-1]和sa[i]两个后缀的最长公共前缀,即相邻排名两串的公共前缀。LCP(i,j)也就是后缀数组中第i个和第j个后缀的最长公共前缀的长度例题,uva 12506,求区别所有字符串的最少字符数具体见代码:View Code #include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#inc 阅读全文
posted @ 2013-04-20 22:30 gray035 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 先设计一个记录图书的结构体,包含图书的书名、作者和出版社每步完成都要保存文件,每步开始时都要读入文件。数据用vector保存方便按书名排序,排序需要重载小于号。任务概述:设计一个简单的图书管理程序,能新增、查询、显示、修改和删除图书信息。程序要求:1)图书数据用文件来存储,按书名排序存放。系统自带Sort()直接排序查询显示时每屏不超过20个记录,超过时分屏显示。设置1个计数器,当达到数目时清屏并要认为输入任意键接着输出2)记录修改:能选择修改图书的书名、作者和出版社,书号不可修改。在修改或删除之前需要用户进一步确认,确认无误后再进行操作。修改时先查找到目标后再对目标进行修改。3)支持模糊查询 阅读全文
posted @ 2013-04-18 16:51 gray035 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 运算符重载是很重要的,特别是在有些stl中必需重载小于号才能使用。还有就是输出流的"<<"重载,方便直接cout输出,但是只能有友元函数来重载,因为在cout<<class T <<endl;中其左边类型已经被确定了,必需有这样的友元函数来实现:friend ostream &operator<<(ostream &,Complex &);详见代码(复数类的实例):View Code #include <iostream>#include <cmath>using namespa 阅读全文
posted @ 2013-04-16 22:02 gray035 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 纯虚函数一般是基类中定义的,派生类中必需重定义,不然是缺损的。虚函数一般是一个共有的的成员函数,方便理解详见代码:View Code #include <iostream>using namespace std;class Animal {public: virtual void eat() = 0;//纯虚函数,只能用指针声明 void sleep(){ cout << "睡觉" << endl; }};class Rabbit:public Animal{public: void eat()//子类必需对纯虚函数进行重定义,不然不能声 阅读全文
posted @ 2013-04-16 21:56 gray035 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 问一段数字区间满足奇数位大于其相邻偶数位的数有多少,值得注意的是其第0位是最高位不是最低位 - -。基础的数位DP。dp[19][10][2],分别表示第几位,前一位数是几,这个为是奇数位还是偶数位。View Code #include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <string>using namespace std;#define LL long longconst int Mod = 2520;LL dp[19 阅读全文
posted @ 2013-04-11 13:35 gray035 阅读(186) 评论(0) 推荐(0) 编辑