- 博客(18)
- 收藏
- 关注
原创 ZOJ-1019-Illusive Chase
大意就是先给一个矩阵代表空间,1是障碍,0可以走,然后的行代表这一步的区间,比如说1 3 R代表可以向右走1步2步或3步,前提是中间没障碍且不越界,给出每步的可能组合后,问有多少初始位置可以按这样走的合法路线,遍历每个格子,每个格子DFS一下看看有没有合法路线#include<iostream>#include<cstdio>using namespace std;...
2019-03-31 18:45:24 221
转载 ZOJ-1018-Deformed wheel
实际做题中我们可能会遇到很多有关及计算几何的问题,其中有一类问题就是向量的旋转问题,下面我们来具体探讨一下有关旋转的问题。首先我们先把问题简化一下,我们先研究一个点绕另一个点旋转一定角度的问题。已知A点坐标(x1,y1),B点坐标(x2,y2),我们需要求得A点绕着B点旋转θ度后的位置。A点绕B点旋转θ角度后得到的点,问题是我们要如何才能得到A’ 点的坐标。(向逆时针方向旋转角度正,反之为负)...
2019-03-31 15:53:37 306
原创 ZOJ-1017-The Bermuda Triangle
题目大意:看题目中的图片,一个边长为s的正六边形可以完全分成6ss个小正三角形,现在给定一个正六边形的边长,然后再给n种小正三角形,问能否用这n种小正三角形填满这个正六边形。小三角形可以不全用。每种小三角无限用。题目分析:只要判断能否用小三角填满大六边形,而且数据范围不大,dfs + 回溯。不过这题麻烦在是三角形,不好表示,回溯的时候不好标记,所以考虑建立一个坐标系,将所有的点都一一标识出来...
2019-03-30 16:38:25 396
原创 ZOJ-1016-Parencodings
题目大意:对于一个良好组织的圆括号字符串S,有两种编码方式:P方式:P = p1 p2 … pn,这里pi是第i个右圆括号之前左圆括号的数量W方式W = w1 w2 … wn,这里举个例子,比如S中第i个右圆括号a,我们记录这个整数:从与a匹配的左圆括号数起,到a为止,中间右圆括号的数量。要求从P编码转到W编码方法一:由p序列构造出字符串s,再由s得出w序列遍历数组,依次找出每个...
2019-03-30 11:28:29 255
原创 ZOJ-1015-Fishing net
题意:给定一个图。判断是不是弦图?思路:(1)神马是弦图?对于一个无向图,若该图的任意一个长度大于3的环中至少存在一条边连接这个环上不相邻的两点,则此图称作弦图。(2)什么是团?团是原图的一个子图,子图就是包含了原图的某些点,那么就要包含这些点之间的边。并且团不是一般的子图而是一个完全子图,就是这个子图的任意两个顶点之间都有边。(3)完美消除序列:原图的一个点的序列(每个点出现且恰好出现一次...
2019-03-29 17:23:47 217
原创 ZOJ-1014-Operand
这题是字符串操作题:题意比较好理解,没有固定的模板,算法思想就是对于操作浮,从+,,^,一个一个遍历字符串,存在其中的一个就说明,以该操作浮将其划分为n个操作数,时间复杂度O(3n)。需要注意括号的操作,即括号的比配问题。此处还用到了C语言的模板list 容器,或stack 容器,该处对于输入的格式由于不知道每次的操作步数,所以需要加入cin.peek()!=’\n’来判断是否输入结束。因而需要...
2019-03-28 22:24:44 249 1
原创 ZOJ-1013-Great Equipment
有n辆坦克可以承载不同重量、体积的头盔、铠甲、靴子,这三件物品分别有不同的防御值,数量不同的头盔、铠甲、靴子可以在一起形成更大防御值的组合。每辆坦克可以承载的重量、体积各不相同,最后求出最大防御值每辆车可以对这三件物品组成有限的组合,关键是在每辆车的各种组合中各挑出一种可能最后遍历出最大的防御值。这里要解的是全局最优,局部最优的组合不一定适合全局最优。比如0<=m<=n,在前m辆车三...
2019-03-28 17:29:37 308
原创 ZOJ-1012-mainframe
#include <stdio.h>#include <string>#include <cstring>#include <algorithm>using namespace std;#define MAXN 10005struct Job{ int A, B, T, U, V, W, X; bool operator <...
2019-03-27 18:26:07 186
原创 ZOJ-1011-NTA
从根结点开始是信号0,信号发射单元是a,查表该结点产生信号(1,2),信号1给左,信号2给右,标注在结点的连线上,左子树的发射单元是b,可以产生两种信号:(0,2),(1,0)。程序会将这两种信号都向下遍历一遍,最后取信号(1,0)。重复该过程至所有结点。最后我们看到,所有叶子结点产生的信号,都是合法信号,即都是信号2和3,因此该树是有效的,输出单词 valid。从样例看出,该表不是一个普通的二...
2019-03-27 15:31:55 238
原创 ZOJ-1010-area
用所有多边形的边和X轴围成的梯形的面积累加起来就可以了。例如某条边 ( P1 - P2 ) 和在它在 x 轴的投影 ( p1’ - P2’ ) 所围成的梯形面积是:S [ p1->p2 ] = 1/2 * ( y1 + y2 ) * ( x2 - x1 ) ; ----(I)这个式子拆开后就是:S [ p1->p2 ] = 1/2 * ( -x1 * y1 + x2 * y2 ...
2019-03-27 11:36:05 235
原创 ZOJ-1009-enigma
从上面明文到密文的转换可以得出这样的规律 密文->明文 :ABCDEF1-13-10-2即密文A ->B,C->F,E->E,每次rotor旋转一格 则等价于ABCDEF-21-13-10此时C->B 同理rotor再旋转一次 有ABCDE...
2019-03-26 21:30:21 294
原创 ZOJ-1008-Gnome Tetravex
#include <stdio.h>#include <cstring>using namespace std;#define MaxN 5 struct sqr{ int u; int r; int d; int l; int cnt; //记录相同方块的个数,取代原来的bool used;}Square[MaxN*...
2019-03-25 22:11:44 179
原创 ZOJ-1007-Numerical Summation of a Series
f(x) - f(1) = (1-x)sum(1 / k*(k+1)*(k+x)当k较大时,k+1和k+x可以近似于k由于sum(1 / k^r) < ∫n-1(1 / x ^ r)dx则有(1-x)sum(1 / k*(k+1)*(k+x) < |1-x| / k^3 < |1-x| / 2x ^ 2#include <string>#include &l...
2019-03-25 14:02:50 195
原创 ZOJ-1006- Do the Untwist
#include <stdio.h>#include <string.h>//加密过程 //plaintext-->plaincode-->cyphercode-->cyphertext//ciphercode[i]=(plaincode[(k*i)%n]-i)mod 28(题目已知)//解密过程就是加密的逆过程//cyphertext--&...
2019-03-23 19:20:44 168
原创 ZOJ-1005-Jugs
#include <string>#include <stdio.h>int main(){ int ca, cb, N, nowA, nowB; while(scanf("%d%d%d", &ca, &cb, &N) != EOF){ nowA = 0; nowB = 0; if(cb == N){ printf("...
2019-03-23 18:11:29 181
原创 ZOJ-1004-Anagrams by Stack
#include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;vector<string> res;void dfs(string s, int i, string t, int j, string st...
2019-03-23 18:10:43 141
原创 ZOJ-1003-Crashing Balloon
#include <stdio.h>using namespace std;bool aTrue, bTrue;//a false, b true, then b true//a true, b true, then a true;//b false then a true;void Judge(int a, int b, int p){ if(aTrue) ret...
2019-03-23 18:09:39 154
原创 zoj-1002-Fire Net
#include <stdio.h>#include <vector>using namespace std;int MAX = 0;bool judge(vector<vector<char> > map, int n, int row, int col){ int i, j; for(i = row, j = col - 1; j ...
2019-03-23 18:08:31 103
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人