2013年7月21日

摘要: 原文链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1268给一段序列,求出升序排序时最少需要的交换次数。用冒泡排序法,计算交换次数即可。代码: 1 #include 2 long bubbleSort(int arr[],int n)/*对arr数组的前n个数进行冒泡排序*/ 3 { 4 int i,j,t,flog; 5 long k=0; 6 for(i=0;i<n-1;i++) 阅读全文
posted @ 2013-07-21 10:50 T^T 阅读(284) 评论(0) 推荐(0) 编辑

2013年5月26日

摘要: 题目原文:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=49输入两个数n,p,计算k=....但是注意取值范围。略大啊,但是注意到Double是可以保存的额。。。就是精度不高,但是够了。。。第一次做的时候脑抽了。。。没想到开n次方根直接可以1/n次方。。。好吧我无语了。 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 double n,p 阅读全文
posted @ 2013-05-26 00:53 T^T 阅读(95) 评论(0) 推荐(0) 编辑

2013年5月22日

摘要: 题目原文:http://uva.onlinejudge.org/external/1/136.html之前的解法是逐个检查是否是Ugly Number,一直除以2,3,5直到不能整除。这样的算法算出第1500个用了20多秒的时间。我们知道“堆”这个数据结构很特殊,他是局部有序的。堆顶始终是最小(或最大)的元素。因此,我们只需要从1开始,每次乘2,3,5的结果放入堆中,然后取出最小的数,再乘2,3,5结果放入堆中。取出的第1500个数就是结果。这么做有一个问题,就是重复的元素会重复进入堆中。解决的办法是这次取出来的元素和上一次取出来的元素比较,如果相同的话就不计算在内。但是在C语言中用long的 阅读全文
posted @ 2013-05-22 14:17 T^T 阅读(234) 评论(0) 推荐(0) 编辑
摘要: UVA之难度排行: TitleTotal SubmissionsSolving %Total UsersSolving %100-The 3n + 1 problem53612027.38%7635372.62%10055-Hashmat the Brave Warrior14705027.33%3195385.72%10071-Back to High School Physics7407550.05%2785593.75%102-Ecological Bin Packing7550438.09%2129786.15%458-The Decoder5148247.67%1920492... 阅读全文
posted @ 2013-05-22 12:05 T^T 阅读(2283) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://uva.onlinejudge.org/external/5/591.pdf叠箱子,叠到平齐,然后计算要移动几个箱子。思路是先算出平均值,然后用所有比平均值大的数减去平均值求差,然后将这些差求和。附上代码: 1 #include<stdio.h> 2 int main() 3 { 4 int t,n,s,i,a[50],ss; 5 for(t=1;;t++) 6 { 7 scanf("%d",&n); 8 if(n==0) break; 9 s=0;10 for(i=0;i<n;i+... 阅读全文
posted @ 2013-05-22 11:55 T^T 阅读(180) 评论(0) 推荐(0) 编辑

2013年2月16日

摘要: 题目大意:题目原文:http://uva.onlinejudge.org/external/1/151.pdf大概是说有N个地区,编号分别是1~N,要按一个算法规则依次断电,这个算法是:规定一个数字m,第一个断电的是1地区,然后往后数m个没断电的城市,第二个断电的应该是1+m 地区,如果数的过程中到了第N个城市,则从头开始继续往下数。如:N=17,m=5的时候,断电的顺序依次是:1,6,11,16,5...要注意到16的时候,往下数是17,2,3,4,5(因为1已经断电了,不数。)那么题目要求输入一个N,求出最后一个断电的地区是13的最小的m值输出。使用穷举法即可完成了。输入一个N,然后定义一 阅读全文
posted @ 2013-02-16 23:17 T^T 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 题目大意:题目原文:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=13&page=show_problem&problem=1130扫雷游戏。。。输入“*”的分布,“.”号变成数字表示该数字周围的八个格子里面有几个“*”。用二维字符串数组来储存输入的数据,然后从第一格开始数周围的格子的“*”个数。附上代码:View Code 1 #include<stdio.h> 2 int main() 3 { 4 int x,y,i,j,i2,j2,n= 阅读全文
posted @ 2013-02-16 22:52 T^T 阅读(260) 评论(0) 推荐(0) 编辑

2013年2月15日

摘要: 题目大意:题目原文:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=3&problem=96&mosmsg=Submission+received+with+ID+11291690输入一个数n要将n!分解成各个素数的乘积,输出各个素数因子所乘的次数。如:5!=120=2*2*2*3*5;那么就是有三个2,一个3,一个5。我的做法是将5!分开=5*4*3*2;然后逐一计算因子数,一个5,一个3, 4有两个2, 2又 阅读全文
posted @ 2013-02-15 17:32 T^T 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题目大意:题目原文:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=15&problem=1311&mosmsg=Submission+received+with+ID+11291586输入一个数组,然后输出大于平均数的比例。水题,直接按照题目的意思,求出平均数,然后计算一下大于平局数的个数,再除以n以百分比的形式输出,就OK啦!新手要注意的是,%输出。。。。要输入两个%才可以。附上代码:View Code 1 阅读全文
posted @ 2013-02-15 16:44 T^T 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题目大意:题目原文:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=12&page=show_problem&problem=979n个数的数列,前后两个数之间的差组成的集合正好是1~n-1,这样的数列叫做jolly jumper。题目要求输入一个数列,输出Jolly或者Not jolly。首先,输入n,按输入的顺序,逐一读取每个数,第一个数用x储存起来,然后读取第二个数&y,计算出|x-y|然后判断这个数字是不是在1~n-1之间,如果不是,那么N 阅读全文
posted @ 2013-02-15 16:21 T^T 阅读(506) 评论(0) 推荐(0) 编辑

导航