01 2015 档案
摘要:题目大意:P序列表示每个右括号之前有几个左括号,W序列表示每个右括号对应的整体括号里包含了几对括号包括本身。输入p序列,转化为w序列。思路:我这是很烦的,讲p转化成一堆括号的,再转化成w的。ac代码:#include "stdio.h"#include "string.h"int main(){ ...
阅读全文
摘要:刚开始在poj过了,拿到uva居然超时。改了好久都没成功,最后问了一个同学,稍微改了一下思路才ac。给uva数据跪了,电费不要钱吗?这题数据太恶心,所以必需剪枝。1.将数据从大到小排序,方便后面选择和操作。2.最后答案只能是sum的约数,所以枚举范围最小为最长的那个棍子的长度,最大只需要到sum/2...
阅读全文
摘要:直接用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...
阅读全文
摘要:求给出字符串的下一序列。法一:直接利用c++中next_permutation函数,(算法竞赛经典入门P187)#include "stdio.h"#include "algorithm"#include "string.h"using namespace std;int main(){ char ...
阅读全文
摘要:求最大长度,刚开始没有用use数组,和两个数组遍历,超时。网上查了一下用数组,再改成一个循环遍历过去就好了。#include "stdio.h"#includeint city[30][30],max,n,m,use[30][30];//city保存输入的连接关系,use 0为走过,1走过,max最...
阅读全文
摘要:#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--...
阅读全文
摘要:#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--) ...
阅读全文
摘要:刚开始,将输入的每种价值的大理石都%2。以为是剪枝,后来和同学交流才发现,当数据为 0 0 2 0 0 1 是错误的。改了一下代码才AC。下次不要犯这些小错误了……#include "stdio.h"#include "string.h"//ave每个人应该获得大理石价值//a1-a6记录各种大理石...
阅读全文
摘要:#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;} ...
阅读全文