01 2015 档案

摘要:题目大意:P序列表示每个右括号之前有几个左括号,W序列表示每个右括号对应的整体括号里包含了几对括号包括本身。输入p序列,转化为w序列。思路:我这是很烦的,讲p转化成一堆括号的,再转化成w的。ac代码:#include "stdio.h"#include "string.h"int main(){ ... 阅读全文
posted @ 2015-01-31 19:12 xryz 阅读(133) 评论(0) 推荐(0) 编辑
摘要:刚开始在poj过了,拿到uva居然超时。改了好久都没成功,最后问了一个同学,稍微改了一下思路才ac。给uva数据跪了,电费不要钱吗?这题数据太恶心,所以必需剪枝。1.将数据从大到小排序,方便后面选择和操作。2.最后答案只能是sum的约数,所以枚举范围最小为最长的那个棍子的长度,最大只需要到sum/2... 阅读全文
posted @ 2015-01-31 19:06 xryz 阅读(126) 评论(0) 推荐(0) 编辑
摘要:直接用next_permutation函数排列,再进行暴力循环就好了。#include "stdio.h"#include "math.h"#includeusing namespace std;int b[10],x[10],y[10],n,a[10];double sum,temp,minx;d... 阅读全文
posted @ 2015-01-31 16:28 xryz 阅读(124) 评论(0) 推荐(0) 编辑
摘要:求给出字符串的下一序列。法一:直接利用c++中next_permutation函数,(算法竞赛经典入门P187)#include "stdio.h"#include "algorithm"#include "string.h"using namespace std;int main(){ char ... 阅读全文
posted @ 2015-01-31 14:44 xryz 阅读(133) 评论(0) 推荐(0) 编辑
摘要:求最大长度,刚开始没有用use数组,和两个数组遍历,超时。网上查了一下用数组,再改成一个循环遍历过去就好了。#include "stdio.h"#includeint city[30][30],max,n,m,use[30][30];//city保存输入的连接关系,use 0为走过,1走过,max最... 阅读全文
posted @ 2015-01-30 11:37 xryz 阅读(149) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h"#include "string.h"int main(){ int n,cas,i,j,p[25],w[25],right,left,temp,cnt; char s[100]; scanf("%d",&cas); while(cas--... 阅读全文
posted @ 2015-01-28 15:31 xryz 阅读(107) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h"int map[5][5],max,n;//map输入的地图,max最大碉堡数,n地图大小bool set(int x,int y)//判断是否可以放置碉堡,只考虑当前空格左上角的情况{ int i; for(i=x-1; i>=0; i--) ... 阅读全文
posted @ 2015-01-28 10:48 xryz 阅读(110) 评论(0) 推荐(0) 编辑
摘要:刚开始,将输入的每种价值的大理石都%2。以为是剪枝,后来和同学交流才发现,当数据为 0 0 2 0 0 1 是错误的。改了一下代码才AC。下次不要犯这些小错误了……#include "stdio.h"#include "string.h"//ave每个人应该获得大理石价值//a1-a6记录各种大理石... 阅读全文
posted @ 2015-01-27 22:18 xryz 阅读(156) 评论(0) 推荐(0) 编辑
摘要:#include "stdio.h"int main(){ int n; while(~scanf("%d",&n)) { if((n-2)%4==0) printf("yes\n"); else printf("no\n"); } return 0;} ... 阅读全文
posted @ 2015-01-27 21:15 xryz 阅读(115) 评论(0) 推荐(0) 编辑