关于软件版本号

杰拉斯 杰拉斯 | 时间:2012-03-29, Thu | 4,548 views
编程算法 

版本号(version number)是版本的标识号。每一个操作系统(或广义的讲,每一个软件)都有一个版本号。版本号能使用户了解所使用的操作系统是否为最新的版本以及它所提供的功能与设施。

当前软件的版本号命名方式众多,之前windows版本有95、98、2000、2003,后有XP、vista,随后沿用开发代号: Windows 7。windows的版本命名一度影响了国内众多软件,像QQ、金山、瑞星等等。

版本命名风格主要有GNU 风格和windows风格,每一个版本号可以分为主版本号与次版本号两部分。例如:DOS4.0,主版本号是4,次版本号是0。

一、 GNU 风格的版本号命名格式
主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124

二、 Windows 风格的版本号命名格式
主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]
示例: 1.21, 2.0

应根据下面的约定使用这些部分:
Major :具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写,这些重写使得无法实现向后兼容性。
Minor :如果两个程序集的名称和主版本号相同,而次版本号不同,这指示显著增强,但照顾到了向后兼容性。例如,这适用于产品的修正版或完全向后兼容的新版本。
Build :内部版本号的不同表示对相同源所作的重新编译。这适合于更改处理器、平台或编译器的情况。
Revision :名称、主版本号和次版本号都相同但修订号不同的程序集应是完全可互换的。这适用于修复以前发布的程序集中的安全漏洞。

下面再例举一些常见的版本命名:
Alpha -- 内部测试版
Beta -- 外部测试版
CHT -- 繁体中文版
CN/SPC -- 简体中文版
EN -- 英文版
Demo -- 演示版
Dev -- 开发专用版,程序员版本。
Free -- 免费版
Professional -- 专业版
Enterprise--企业版
Ultimate -- 旗舰版,最终版本
Upgrade -- 升级版
OEM版 --OEM 版通常是捆绑在硬件中而不单独销售的版本。将自己的产品交给别的公司去卖,保留自己的著作权,双方互惠互利,一举两得。

[ACM_HDU_2050]折线分割平面

杰拉斯 杰拉斯 | 时间:2012-03-28, Wed | 7,059 views
编程算法 

折线分割平面

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8663 Accepted Submission(s): 6084

Description

我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。

折线分割平面

Input

输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0<n<=10000),表示折线的数量。

Output

对于每个测试实例,请输出平面的最大分割数,每个实例的输出占一行。

(阅读全文…)

[ACM_ZJUT_2012]勘探油田

杰拉斯 杰拉斯 | 时间:2012-03-28, Wed | 5,795 views
编程算法 

勘探油田

Time Limit:1000MS Memory Limit:32768K

Description

某石油勘探公司正在按计划勘探地下油田资源。他们工作在一片长方形的地域中,首先将该地域划分为许多小正方形区域,然后使用探测设备分别探测每一块小正方形区域是否有油。若在一块小正方形区域中探测到有油,则标记为’@’,否则标记为’*’。如果两个相邻区域都为1,那么它们同属于一个石油带,一个石油带可能包含很多小正方形区域,而你的任务是要确定在一片长方形地域中有多少个石油带。 所谓相邻,是指两个小正方形区域上下、左右、左上右下或左下右上同为’@’。

Input

输入数据将包含一些长方形地域数据,每个地域数据的第一行有两个正整数m和n,表示该地域为m*n个小正方形所组成,如果m为0,表示所有输入到此结束。否则,后面m(1≤m≤100)行数据,每行有n(1≤n≤100)个字符,每个字符为’@’或’*’,表示有油或无油。每个长方形地域中,’@’的个数不会超过100。

Output

每个长方形地域,输出油带的个数,每个油带值占独立的一行。油带值不会超过100。

(阅读全文…)

[ACM_ZJUT_1089]Ugly Numbers

杰拉斯 杰拉斯 | 时间:2012-03-28, Wed | 8,738 views
编程算法 

Ugly Numbers

Time Limit:1000MS  Memory Limit:32768K

Description

Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ... shows the first 11 ugly numbers. By convention, 1 is included. Write a program to find and print the n’th ugly number.

Input

Every integer number (≤1500)describing position of ugly number from 1.If integer number is 0,the process should ended. Maybe there are 10000 integer numbers on input data.

Output

Every integer given should output a line as shown below, The <n>th ugly number is <number>. with <n> replaced by the integer number and <number> replaced by the number computed.

(阅读全文…)

[ACM学习心得]关于sync_with_stdio(false);

杰拉斯 杰拉斯 | 时间:2012-03-27, Tue | 23,016 views
编程算法 

在网上查看别人的ACM代码时,发现别人输入输出语句用的总是scanf与printf,有点不解,还以为他们用的都是C语言,而非C++,但今天做的一道题(Sort):

发现与网上的其他高手使用完全相同的方法,使用scanf及printf的代码提交后Accepted,而使用cin及cout的却Time Limit Exceeded

(阅读全文…)