UVa OnlineJudge
glqglqglq2
这个作者很懒,什么都没留下…
展开
-
UVA-1103- Ancient Messages
#include#include#include#include#include#include#include #includeusing namespace std;int pic[1000][300],num[7],kase=1,cnt,m,n,s[16][4]={ {0,0,0,0},{0,0,0,1},{0,0,1,0},{0,0,1,1}, {0,1原创 2014-07-28 13:37:44 · 608 阅读 · 0 评论 -
UVA-10340-All in All
为毛这个题数组开这么大才能AC?跪了!#include#includeint main(){ freopen("in.txt","r",stdin); char s1[99999],s2[99999]; while(scanf("%s%s",s1,s2)!=EOF) { int i,zhizhen=0; for(i=0;i<原创 2014-03-10 08:39:41 · 602 阅读 · 0 评论 -
UVA-10391-discuss Compound Words
把#include#include#include#include#includeusing namespace std;char str[120005][30];int main(){// freopen("out.txt","w",stdout); int n = 0; while(cin>>str[n]) { n++; }原创 2014-07-29 18:10:33 · 515 阅读 · 0 评论 -
UVA-350 - Pseudo-Random Numbers
本题注意循环必须要从第二个数开始,因为cycle并不一定从seed开始,还可能从seed以后的开始啊,但网上的大神们只考虑到第二个,我也不知道为毛啊!#includeint main(){ freopen("in.txt","r",stdin); int z,i,m,l,j,k,shushu=0; while(scanf("%d%d%d%d",&z,&i,&m,原创 2014-03-13 17:37:26 · 509 阅读 · 0 评论 -
UVA-438- The Circumference of the Circle
以下是本题的算法:#include#define PI 3.141592653589793int main(){ freopen("in.txt","r",stdin); double x1,y1,x2,y2,x3,y3,c; while(scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF)原创 2014-03-13 08:08:18 · 640 阅读 · 0 评论 -
UVA-465-Overflow
double的正值取值范围为 4.94065645841246544E-324 到 1.79769313486231570E+308。高精度用double较方便,但是要注意double不精确的问题,所以本题采用了先用字符串,在转换的思路,至于一直想做的高精度思想,我的代码一直没有AC,本题用double代码AC有一定的巧合性和不精确性,下面是AC代码:#include #include d原创 2014-03-04 16:54:11 · 635 阅读 · 0 评论 -
UVA-11093-Just Finish It Up
这道题有特殊之处,在模拟i站起点时,走到p站走不下去了,则tiaochuhou原创 2014-08-05 14:04:17 · 610 阅读 · 0 评论 -
1152 - 4 Values whose Sum is 0(好用的hash标记,多重循环简单化)
不得不说这个题就是炫酷啊!首先说一说思路吧,是这么想的:1.弄四重循环,爆破,明显会超时。2.为了处理多重循环,就枚举a+b+c,只需要在d中找到a+b+c的相反数即可,超时3.枚举a+b,只需要在c+d中找到a+b的相反数即可,TMD超时!4.循环只能优化到这个程度了,再优化就得用哈希表直接调用了。这个题的哈希表也是新的知识,由于本题a+b的值可能很大很大,所以以原创 2014-08-06 14:27:56 · 776 阅读 · 0 评论 -
UVA-120- Stacks of Flapjacks
这是一道一开始就没做出来的题,到xia原创 2014-08-06 11:52:41 · 475 阅读 · 0 评论 -
UVA-11054-Wine trading in Gergovia(模拟+贪心)
首先这道题的节点数太多了,达到10^5,所以不能用数组模拟啊,肯定TLE,所以用贪心算法,读取第一个结点,搬到第二个结点,剩下的和第二个结点合并,一起搬到第三个结点。。。。。。这个算法很好,每次看成只是邻居间买卖,下面是代码:#include#include#includeusing namespace std;int main(){ int n; while(cin原创 2014-08-07 09:55:35 · 881 阅读 · 0 评论 -
UVA-11572-Unique snowflakes
#include#include#include#includeusing namespace std;int snow[1000005];int main(){ int n;cin>>n; while(n--) //有n个案例 { int m,l = 0,r = 0,maxn = 0; //确定初始左右指针 cin>>m;原创 2014-08-07 13:52:57 · 563 阅读 · 0 评论 -
UVA-11134-Fabled Rooks (结构体排序+贪心)
这个题和八皇后问题比较像,但是在选位置之前一定要进行排序,让靠左上的优先选择位置,这块脑残没想到!好了,这道题没代码贴。原创 2014-08-06 17:17:15 · 701 阅读 · 0 评论 -
UVA-12325-Zombie's Treasure Chest
只有两种物品,想到了贪心,将价值与体积比大(称为价值比)的优先放入。但体积限制,这样还不可以,会有剩余空间,使得这样的贪心策略并不是最优的,下面是写的贪心的WA代码:#include#include#include#includeusing namespace std;int main(){// freopen("out.txt","w",stdout);原创 2014-08-07 20:06:46 · 583 阅读 · 0 评论 -
UVA-1394-And Then There Was One(约瑟夫环)
这个问题看了看,没看懂,搁置。约瑟夫环问题(Josephus)用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。(约瑟夫环问题 Josephus)解法一(My Solution):思想:建立一个有N个元素的循环链表,然后从链表头开始遍历并记数,如果计数i==m(i初始为1)踢出元素,继续循环,当当前元素与下一元素相同时退出循环。代原创 2014-08-19 14:23:30 · 721 阅读 · 0 评论 -
UVA-213-Message Decoding
很久不码代码了,正如辉哥所说,再做出来一个题AC的冲动还是有的,明显很久不写了手生了,写的很麻烦还错误率很高。#include#include#include#includeusing namespace std;int main(){ char in[2550],zong[2550000],head[25500]; int store[80][1500],firs原创 2015-01-31 23:26:31 · 556 阅读 · 0 评论 -
UVA-11210-Chinese Mahjong
训练指南24页的题 真是醉了 以为死循环了 原来是循环套的太多了 出一组样例 500S+ 递归尽量减少嵌套循环 会死 我的复杂度34*14*13*12*11*10*9*8*7*6*5*4*3*2*1 提前脑子不好用啊!!! 特别注意以后回溯千万别忘记调用函数后还要把变量改回来#include<stdio.h>#include<iostream>#include<vector>原创 2015-02-26 15:23:00 · 709 阅读 · 0 评论 -
UVA-1030-Image Is Everything
这个题先找出“看穿”的所有方块,拿下来,再不断找每一块在各个视图中颜色不一样的给删掉,直到没有为止,本题难点在于各个视图和小方块的坐标转化,还是看看刘汝佳的代码,太屌了,我用了两种转化,他一种就搞出来了,以下是我的代码:#include#includeusing namespace std;void kanchuan(char tu[][15][15],int m,int ti[][15原创 2015-02-16 21:06:48 · 460 阅读 · 0 评论 -
UVA-3708-Graveyard
我的代码:模拟搜索并移动:#include#include#includeusing namespace std;int main(){ int n,m; while(cin>>n>>m) { double before[1005],after[2005],ji = 10000.0/n,ans = 0; for(int i原创 2015-02-14 21:28:06 · 455 阅读 · 0 评论 -
UVA-253-Cube painting
要是凭想象力去找答案,那真是太抽象了,不如制作个盒子去寻找答案,那是很轻松的。我就是制作了一个盒子,会有6个面,然后以每一个面为轴旋转,每个面可产生4个空间视图;这样总共有6*4=24种(其实是23种,因为它本身占一种)。这样,答案就出来啦。转载 2014-06-17 17:48:26 · 386 阅读 · 0 评论 -
101 - The Blocks Problem
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int n;vector pile[30];void search(int a,int &ha,int &pa){ for(pa=0;pa<n;p原创 2014-07-21 14:58:52 · 422 阅读 · 0 评论 -
UVA-1339 - Ancient Cipher
#include#include#includechar str1[105],str2[105];int a[26],b[26];int cmp ( const void *a , const void *b ){return *(int *)a - *(int *)b;}int main(){ int i; while(scanf("%s%s",str1,st原创 2014-07-21 09:01:31 · 422 阅读 · 0 评论 -
UVA-10473- Simple Base Conversion
#includeint main(){ char shu[999]; int shuzi; while(gets(shu)!=NULL) { if(shu[0]=='-') //要求当输入负数时跳出!不是-1时跳出! break; if(shu[1]=='x') {原创 2014-03-20 19:30:12 · 510 阅读 · 0 评论 -
UVA-10127-Ones
这个题会涉及到两个坑,一个是因为若数据太大会超出int,另一个是因为循环过多会RE。以下是未AC代码:#includeint pan(int n){ char str[999]; int i,j=0; sprintf(str,"%d",n); for(i=0;i { if(str[i]!='1')原创 2014-03-11 22:47:23 · 550 阅读 · 0 评论 -
UVA-10976 - Fractions Again?!
我真给这个题跪了 精度控制竟然到1e-17才给过,con原创 2014-07-29 12:24:40 · 515 阅读 · 0 评论 -
UVA-530-Binomial Showdown
相关公式:1、 C(n,m) = n! /(n-m)!*m! ;2、C(n,m) = A(n,m)/ A(m,m) = n*(n-1)*(n-2)....(n-m+1)/ m!3,C(n,m) =C(n,n-m); // if(k > n/2) k = 2/n - k本题用的思路是第二个公式,为了减少循环,如果不变换公式(即用公式一)的话,会有三个循环,如果用公式三的话,会涉原创 2014-03-10 07:26:10 · 548 阅读 · 0 评论 -
UVA-1583 - Digit Generator
这是第三章课本例题,应该很简单,但是竟然TLE了,说明有坑啊,一开始shi原创 2014-08-04 17:24:29 · 624 阅读 · 0 评论 -
UVA-10025-The ? 1 ? 2 ? ... ? n = k problem
乍眼一看,这题找不出什么规律,可是列举出所有的想法时,就有一点思路了。 这题无非是这样:±1 ± 2 ± 3 ±…± n = k , 找出满足条件的最小 n 。 令S(n)=1 + 2 + 3 + ... + n. 其中一项为x. 那么S(n)=1 + 2 + 3 + ...+ x + ... + n. 这样结果可能大于等于 | k | ,等于最好,即一次算转载 2014-06-17 18:16:32 · 509 阅读 · 0 评论 -
UVA-113- Power of Cryptography
#include#include#includeusing namespace std;int main(){ double n,p; double temp; while(scanf("%lf%lf",&n,&p)==2) { temp=pow(p,1/n); printf("%.lf\n",temp);转载 2014-06-17 16:46:00 · 387 阅读 · 0 评论 -
UVA-10115-Automatic Editing
#include#include#includeusing namespace std;int main(){ freopen("in.txt","r",stdin); char *zhizhen; char be[15][85],af[15][85],text1[256],text2[256]; int n,i,j,k,l,m,flag; whi原创 2014-03-31 22:42:12 · 474 阅读 · 0 评论 -
UVA-10302-Summation of Polynomials
本题的坑在于要用long long ,注意long long不能和其他数据类型混合使用!以下是相关资料引用: 类型转换分为强制类型转换和自动类型转换,强制类型转换分为几种情况:一是占用字节多的转换成占用字节少的数据类型。二是表示范围大的转换成表示范围小的基本数据类型。那么,下边几种转换会出错:1)不同类型。 默认1是int,但1.0是double型。byte b =3; b原创 2014-03-16 21:32:12 · 470 阅读 · 0 评论 -
UVa 10763 - Foreign Exchange
#include#include#include#include#include#includeusing namespace std;int n_cmp(const void *a,const void *b){ return *(int*)a-*(int*)b;}int a[500000+2],b[500000+2];int main(){#ifdef tes原创 2014-07-28 16:05:11 · 371 阅读 · 0 评论 -
UVA-152-Tree's a Crowd
#include #include#include #include using namespace std;struct tree{ float x,y,z;};float juli(tree a,tree b){ return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z));原创 2014-05-28 17:36:30 · 554 阅读 · 0 评论 -
UVA-412-Pi
#include#include#include//int huzhi(int s1,int s2) //这是一开始的思路,会TLE//{// int i,j,k,xiao;// if(s1<s2)// xiao=s1;// if(s1>s2)// xiao=s2;// f原创 2014-03-17 23:01:55 · 586 阅读 · 0 评论 -
UVA-10041- Vito's family
1.乍一看好简单(其实确实也不难,就是中位数做差求和的问题,这个题这样的求最短距离的题都要用中位数,而且中位数是已知亲戚房子的中位数,这个概念要有,本体如果用循环,会TLE)。2.本题我的冒泡法排序代码一直没写对,所以一直WA,注意冒泡法排序!!!以下是我的AC代码:#include#includeint main(){ freopen("in.txt","r",stdi原创 2014-03-09 12:39:25 · 598 阅读 · 0 评论 -
UVA-424-Integer Inquiry
//这个题主要是因为‘\0’的asc码是0和我定义的字符串初始值一样,所以出现了strlen失灵的情况,还有就是边界数据的处理(如等于1的时候)!还有就是注意前导零的问题#include#includeint main(){ freopen("in.txt","r",stdin); char shu[999],zong[999]; int da,i,flag,zhi=0原创 2014-03-04 21:28:00 · 543 阅读 · 0 评论 -
UVA-122-Trees on the level
#include#include#include#include#includeusing namespace std;int tree[1050000]; //0代表关 1代表开 这指开关情况int main(){ int n,k; while(cin>>n) { if(n<0) break; for(int i=0;原创 2014-07-24 08:54:07 · 510 阅读 · 0 评论 -
UVA-623大数1000阶乘
《算法竞赛入门经典》5.2.2,关于大数的题,按照书上给的方法超时了,计算次数太多了,没有充分利用int,最后又在网上搜了一下,修改代码如下:#include #include const int maxn = 1000;int f[maxn];int main(){#ifdef LOCAL freopen("in", "r", stdin);#endif原创 2014-03-01 21:07:59 · 596 阅读 · 0 评论 -
博客搬家
各位关注我的朋友们!我的博客搬家到http://www.luckygong.cn/啦,自己新开的域名,其实早就在那边写博客了,但是由于域名一直没通过备案,所以一直没有公布。以前总是觉得自己开博客比较麻烦,但是自从自己试了一下之后,一发而不可收拾,还是很好的,自由度很大。能随时记录自己的成长轨迹,不光是写技术博客,还有很多自己的心里话,说给自己现在听,留给自己以后看,也给大家分享自己的点滴。原创 2015-08-26 09:56:46 · 540 阅读 · 0 评论