ACM
文章平均质量分 58
Switchvov
这个作者很懒,什么都没留下…
展开
-
简单的字谜游戏--可扩展--2015年7月25日14:58:00V1.1版
1、string类find匹配法#include #include #include #include using namespace std;//字谜单词 hone,uito,raia,enanint main(){ int n = 6; char puzzle[6][6]= //字谜数组 { 'a','h','o','n','e','原创 2015-07-24 00:30:15 · 1340 阅读 · 0 评论 -
多项式求解(霍纳规则(Horner Rule))
1、霍纳规则(Horner Rule)霍纳规则是采用最少的乘法运算策略,求多项式在x处的值,该规则为。利用该规则,可以求任意多项式的在x处的值。2、实现代码int horner(int *a, int n,int x) //霍纳规则{ int ax = a[n] * x + a[n - 1]; //求出在内层括号内的值 for(int i = n - 2; i原创 2015-07-29 11:50:02 · 5954 阅读 · 1 评论 -
poj 1182 食物链的一种解法(详解),非向量法
食物链Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 54761 Accepted: 16056Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都原创 2015-10-09 17:23:37 · 20288 阅读 · 1 评论 -
欧几里得算法和扩展欧几里得算法的简单例子
欧几里得算法:#include #include /** 挑战。。。p113*/struct point{ //格点 int x; int y;};point p1, p2; //两个格点int gcd(int a,int b){ //欧几里得算法 if(b == 0) { return a; } else原创 2015-10-24 17:46:57 · 7520 阅读 · 0 评论 -
迷宫问题(栈解决)--2015年8月9日19:23:23v1.0版
1、问题描述多年以来,迷宫问题一直是令人感兴趣的题目。实验心理学家训练老鼠在迷宫中寻找食物。许多神秘主义小说家也曾把英国乡村花园迷宫作为谋杀现场。计算机工作者也对迷宫感兴趣。因为它可以展现栈的巧妙应用。首先考虑的是存储问题,最简单的方法当然是二维数组。用“0”表示阻断,用“1”表示通路。其次考虑移动方位问题,这里有八个方向,可由如下存储形式表达:move[0].vert = -1; m原创 2015-08-09 19:05:42 · 2899 阅读 · 0 评论 -
随机漫步(random walk)
1、题目有一类问题总称为“随机漫步”(Random Walk)问题,这类问题长久以来吸引着数学界的兴趣。所有这些问题即使是最简单的解决起来也是极其困难的。而且它们在很大程度上还远没有得到解决。一个这样的问题可以描述为:在矩形的房间里,铺有n×m块瓷砖,现将一只(醉酒的)蟑螂放在地板中间一个指定方格里。蟑螂随机地从一块瓷砖“漫步”到另一块瓷砖(可能是在找一片阿司匹林)。假设它可能从其原创 2015-08-09 13:56:55 · 18155 阅读 · 0 评论 -
poj 3169 Layout
LayoutTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8803 Accepted: 4236DescriptionLike everyone else, cows like to stand close to their friends when q原创 2015-10-24 15:41:41 · 4995 阅读 · 0 评论 -
poj 3723 Conscription
ConscriptionTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9574 Accepted: 3394DescriptionWindy has a country, and he wants to build an army to protec原创 2015-10-24 14:42:43 · 6228 阅读 · 0 评论 -
快速模幂运算
#include /** 挑战程序设计竞赛 p122*/__int64 mod_pow(__int64 x,__int64 n,__int64 mod){ //快速模幂运算 __int64 res = 1; while(n > 0){ if(n & 1){ //如果二进制位最低位为1,则乘上x^(2^i) res = (原创 2015-10-25 19:09:57 · 4958 阅读 · 0 评论 -
2008 Round1AA Minimum Scalar Product
用贪心法能实现,一个向量正序,一个向量逆序,相乘相加就能解决PS:用__int64时,在printf,scanf里面的格式化字符应该是%I64d,虽然%d也能用,但是如果数值范围过大就会溢出。#include #include //__int64输入输出的时候一定要用%I64d//否则结果错误const int MAX_N = 200000; //最大个数int n; //总个原创 2015-10-25 21:20:36 · 14937 阅读 · 2 评论 -
算法竞赛中的输入输出框架
算法竞赛中的输入输出框架算法竞赛中的输入输出框架标准输入输出重定向fopen标准输入输出#include <stdio.h>#define INF 10000000/** 输入一些整数,求出它们的最小值、最大值和平均值(保留3位小数)。输入保证这些数都是不超过1000的整数。**/// 标准输入输出int main () { int x , n = 0, min原创 2016-04-26 16:32:01 · 1966 阅读 · 0 评论 -
分数化小数(指定精度)
#include <stdio.h>#include <iostream>#include <iomanip>using namespace std;/** 输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b≤106,c≤100。输入包含多组数据,结束标记为a=b=c=0。**/int main() { int a,b,c; int i = 0原创 2016-04-26 18:11:23 · 1031 阅读 · 1 评论 -
140 - Bandwidth
BandwidthGiven a graph (V,E) where V is a set of nodes and E is a set of arcs in VxV, and an ordering on the elements in V, then the bandwidth of a node v is defined as the maximum distance in the orde原创 2016-05-24 14:10:26 · 597 阅读 · 0 评论 -
122 - Trees on the level(模拟内存池解法)
PS:题目和动态分配内存解法,可以查看:122 - Trees on the level(动态分配空间解法) PS:模拟内存池的原理简单的说就是先初始化一个空闲队列,当需要资源时,直接从队首获取,当资源释放不用时,又将该资源加入空闲队列队尾。#include <iostream>#include <queue>#include <string>#include <sstream>原创 2016-05-11 14:36:03 · 763 阅读 · 0 评论 -
122 - Trees on the level(动态分配空间解法)
Trees on the levelBackgroundTrees are fundamental in many branches of computer science. Current state-of-the art parallel computers such as Thinking Machines’ CM-5 are based on fat trees. Quad- and oct原创 2016-05-10 21:12:21 · 2743 阅读 · 0 评论 -
548 Tree
TreeYou are to determine the value of the leaf node in a given binary tree that is the terminal node of a path of least value from the root of the binary tree to any leaf. The value of a path is the su原创 2016-05-11 20:14:00 · 586 阅读 · 0 评论 -
839 - Not so Mobile
Not so Mobile PS:因为该题排版较麻烦,这里给出OJ网址:UVa839 - Not so Mobile 输入一个树状天平,根据力矩相等原则判断是否平衡。如图6-5所示,所谓力矩相等,就是WlDl=WrDr,其中Wl和Wr分别为左右两边砝码的重量,D为距离。采用递归(先序)方式输入:每个天平的格式为Wl,Dl,Wr,Dr,当Wl或Wr为0时,表示该“砝码”实际是一个子天平,接下来会原创 2016-05-12 17:17:06 · 777 阅读 · 0 评论 -
10603 - Fill
FillThere are three jugs with a volume of a,b and c liters. (a,b, and c are positive integers not greater than 200). The first and the second jug are initially empty, while the third is completely fill原创 2016-05-25 21:57:08 · 864 阅读 · 0 评论 -
699 - The Falling Leaves
The Falling Leaves PS:因为该题排版较麻烦,这里给出OJ网址:UVa699 - The Falling Leaves 给一棵二叉树,每个结点都有一个水平位置:左子结点在它左边1个单位,右子结点在右边1个单位。从左向右输出每个水平位置的所有结点的权值之和。如图6-7所示,从左到右的3个位置的权和分别为7,11,3。按照递归(先序)方式输入,用-1表示空树。 样例原创 2016-05-12 19:30:27 · 574 阅读 · 0 评论 -
297 - Quadtrees
QuadtreesA quadtree is a representation format used to encode images. The fundamental idea behind the quadtree is that any image can be split into four quadrants. Each quadrant may again be split in fo原创 2016-05-12 22:09:08 · 490 阅读 · 0 评论 -
572 - Oil Deposits
Oil DepositsThe GeoSurvComp geologic survey company is responsible for detecting underground oil deposits.GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that原创 2016-05-13 16:15:48 · 396 阅读 · 0 评论 -
1601 - The Morning after Halloween
PS:因为该题排版较麻烦,这里给出OJ网址:UVa 1601 - The Morning after Halloween w*h(w,h≤16)网格上有n(n≤3)个小写字母(代表鬼)。要求把它们分别移动到对应的大写字母里。每步可以有多个鬼同时移动(均为往上下左右4个方向之一移动),但每步结束之后任何两个鬼不能占用同一个位置,也不能在一步之内交换位置。 输入保证所有空格连通,所有障碍格也原创 2016-05-28 13:19:47 · 1030 阅读 · 0 评论 -
逆序对问题
逆序对问题 逆序对问题。给一列数a1,a2,…,ana_1, a_2, … , a_n,求它的逆序对数,即有多少个有序对(i,j)(i,j),使得i<ji < j但ai>aja_i > a_j。nn可以高达10610^6。由于nn的数量级到了10610^6,所以采用O(n2)O(n^2)及以上的时间复杂度肯定会超时,所以必须选取O(nlog2n)O(nlog_2n)及以下时间复杂度的算法。逆原创 2016-05-29 16:09:41 · 4410 阅读 · 2 评论 -
10474 - Where is the Marble?
Where is the Marble? PS:因为该题排版较麻烦,这里给出OJ网址:UVa10474 - Where is the Marble? 现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。#include <cstdio>#in原创 2016-05-05 21:07:50 · 2165 阅读 · 0 评论 -
512 - Spreadsheet Tracking
Spreadsheet Tracking PS:因为该题排版较麻烦,这里给出OJ网址:UVa512 - Spreadsheet Tracking#include <stdio.h>#include <string.h>#define maxNum 10005// 行,列,操作数int r, c, n;struct Command { // 命令名 char c[5];原创 2016-05-05 17:03:59 · 652 阅读 · 0 评论 -
213 - Message Decoding
Message DecodingSome message encoding schemes require that an encoded message be sent in two parts. The first part,called the header, contains the characters of the message. The second part contains a原创 2016-05-05 15:30:04 · 1821 阅读 · 0 评论 -
133 - The Dole Queue
The Dole QueueIn a serious attempt to downsize (reduce) the dole queue, The New National Green Labour Rhinoceros Party has decided on the following strategy. Every day all dole applicants will be place原创 2016-05-05 14:14:53 · 2026 阅读 · 0 评论 -
489 - Hangman Judge
Hangman JudgeIn “Hangman Judge,” you are to write a program that judges a series of Hangman games. For each game, the answer to the puzzle is given as well as the guesses. Rules are the same as the cla原创 2016-05-05 12:18:50 · 435 阅读 · 0 评论 -
1339 - Ancient Cipher
Ancient CipherAncient Roman empire had a strong government system with various departments, including a secret service department. Important documents were sent between provinces and the capital in enc原创 2016-05-04 21:49:59 · 594 阅读 · 0 评论 -
1584 - Circular Sequence
Circular SequenceSome DNA sequences exist in circular forms as in the following figure, which shows a circular sequence CGAGTCAGCT", that is, the last symbolT” in CGAGTCAGCT" is connected to the first原创 2016-05-04 15:38:14 · 479 阅读 · 0 评论 -
1583 - Digit Generator
Digit GeneratorFor a positive integer N , the digit-sum of N is defined as the sum of N itself and its digits. When M is the digitsum of N , we call N a generator of M .For example, the digit-sum of 24原创 2016-05-04 15:06:19 · 663 阅读 · 0 评论 -
340 - Master-Mind Hints
Master-Mind HintsMasterMind is a game for two players. One of them, Designer, selects a secret code. The other, Breaker, tries to break it. A code is no more than a row of colored dots. At the beginnin原创 2016-04-28 20:23:27 · 439 阅读 · 0 评论 -
101 - The Blocks Problem
The Blocks ProblemBackground Many areas of Computer Science use simple, abstract domains for both analytical and empirical studies. For example, an early AI study of planning and robotics (STRIPS) us原创 2016-05-05 22:19:08 · 844 阅读 · 0 评论 -
816 - Abbott's Revenge
Abbott’s Revenge PS:因为该题排版较麻烦,这里给出OJ网址:UVa816 - Abbott’s Revenge 有一个最多包含9*9个交叉点的迷宫。输入起点、离开起点时的朝向和终点,求一条最短路(多解时任意输出一个即可)。 这个迷宫的特殊之处在于:进入一个交叉点的方向(用NEWS这4个字母分别表示北东西南,即上右左下)不同,允许出去的方向也不同。例如,1 2 WLF原创 2016-05-16 20:45:40 · 639 阅读 · 0 评论 -
10305 - Ordering Tasks
Ordering TasksJohn has n tasks to do. Unfortunately, the tasks are not independent and the execution of one task is only possible if other tasks have already been executed.InputThe input will consist o原创 2016-05-17 15:04:07 · 526 阅读 · 0 评论 -
10815 - Andy's First Dictionary
Andy’s First Dictionary PS:因为该题排版较麻烦,这里给出OJ网址:UVa10815 - Andy’s First Dictionary 输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。单词不区分大小写。#include <iostream>#include <string>#include <set>#include <sstream原创 2016-05-06 12:16:47 · 609 阅读 · 0 评论 -
156 - Ananagrams
AnanagramsMost crossword puzzle fans are used to anagrams–groups of words with the same letters in different orders–for example OPTS, SPOT, STOP, POTS and POST. Some words however do not have this attr原创 2016-05-06 13:21:42 · 601 阅读 · 0 评论 -
12096 - The SetStack Computer
The SetStack Computer PS:因为该题排版较麻烦,这里给出OJ网址:UVa12096 - The SetStack Computer 有一个专门为了集合运算而设计的“集合栈”计算机。该机器有一个初始为空的栈,并且支持以下操作。 PUSH:空集“{}”入栈。 DUP:把当前栈顶元素复制一份后再入栈。 UNION:出栈两个集合,然后把二者的并集入栈。原创 2016-05-06 15:15:51 · 705 阅读 · 0 评论 -
540 - Team Queue
Team Queue PS:因为该题排版较麻烦,这里给出OJ网址:UVa540 - Team Queue 有t个团队的人正在排一个长队。每次新来一个人时,如果他有队友在排队,那么这个新人会插队到最后一个队友的身后。如果没有任何一个队友排队,则他会排到长队的队尾。输入每个团队中所有队员的编号,要求支持如下3种指令(前两种指令可以穿插进行)。 ENQUEUEx:编号为x的人进入长队原创 2016-05-06 19:21:25 · 760 阅读 · 0 评论 -
136 - Ugly Numbers
Ugly NumbersUgly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, …shows the first 11 ugly numbers. By convention, 1 is included.Write a progr原创 2016-05-06 20:25:34 · 3514 阅读 · 0 评论