
UVA
SDU-Leon
这个作者很懒,什么都没留下…
展开
-
455 - Periodic Strings-C-AC
暴力枚举的方法:因为最多不超过80个字符,所以暴力也不会超时。1、定义n为周期,每次都从n到尾循环字符串。2、判断str[i]与str[i-n]是否一致,一旦又不一样的就说明n不是最小正周期,n就累加。3、如果循环完了都符合就继续,否则重复2过程。 注意:最后一组输出 不要 输出空行,否则会WA 。 AC代码: #include #include #in原创 2014-11-26 07:44:49 · 609 阅读 · 0 评论 -
UVa-1339 - Ancient Cipher-AC
题意:原文字母与密文字母随机映射,每种字母的映射不相同,但相同字母映射相同,映射后随机排列。思路:将原文、密文每种字母个数统计出来保存于数组;将数组排序;判断数组一直YES,否则NO。AC代码:#include #include #include void sort (int *num){ int i,j,t; for (i=1;i<26;i++)原创 2015-02-09 08:53:52 · 906 阅读 · 0 评论 -
Uva-815 - Flooded!-AC
题意:矩阵形式给出每个区域(10*10米)海拔,给出洪水体积,假设整块地区四周有无限高的墙,把洪水灌入这个地区,求洪水水位和淹没面积占总面积的百分比。思路:一维数组保存海拔数据,排序,计算出淹没最高位置的下标,即可容易求出所需。注意只有一组海拔数据时的判断。AC代码:#include #include #include int main(){ int len,m,原创 2015-02-07 23:03:48 · 797 阅读 · 0 评论 -
Uva-12108 - Extraordinarily Tired Students-AC
不要多想找规律,直接暴力模拟5000分钟,中间有都不睡的就返回,模拟完了还没有合适的直接返回-1.AC代码:#include #include struct stu{ int awa,sle,ing;};int judge(struct stu peo[],int slepnum,int n,int t){ if (t==5001) return -1;原创 2015-02-05 13:53:53 · 1104 阅读 · 2 评论 -
1588 - Kickdown-AC
1588 - Kickdown-ACAC代码原创 2014-12-14 11:37:52 · 671 阅读 · 0 评论 -
Uva-1590 - IP Networks-AC
本题按照题意转换2进制容易一些,不要去找十进制的规律了,浪费了好长时间思路:将输入所有Ip转为二进制保存,检测所有IP二进制地址,看从哪位开始有不一样的,由此求出n。最小IP地址为二进制前32-n位与其他IP一致,后n位全为0.子网掩码是二进制前32-n位为1,后n位全为0.AC代码:#include #include void DecToBin(int *p原创 2015-02-04 23:59:50 · 629 阅读 · 0 评论 -
Uva-253 - Cube painting-AC
题意是:给出俩正方体着色方案,看俩正方体是否能经过旋转后一致。思路: 定住任意一个对面(有6种情况,1为上面6为下面为一种情况,6为上1为下另一种情况······),剩下4个面,旋转比较是否有一致的。很明显我写麻烦了AC代码:#include #include int same(char a0, char b0, char a1, char b1){ return原创 2015-02-03 23:35:08 · 721 阅读 · 0 评论 -
Uva-232 - Crossword Answers-AC
水题,读懂题,注意格式(不是第一组数据的就在输入与输出之间加空行),一遍A。AC代码:#include #include #include int main(){ char grid[15][15]; int a,b,i,j,k,t=0,n[15][15]; while(scanf("%d",&a)&&a!=0) { scanf("原创 2015-02-03 14:37:07 · 720 阅读 · 0 评论 -
Uva-1587-Box-AC
这个题题意就是判断6个面能否组成一个长方体。我的思路是:1、将数据以结构体形式存储,然后按照大小顺序排列整齐,便于写判断。2、判断六个面是否俩俩相等。3、判断其中3个面能否接在一起。AC代码:#include #include struct pallet{ int w,h;};int is_samestruct(struct pallet a,stru原创 2014-12-24 09:44:47 · 3204 阅读 · 1 评论 -
Uva-202 - Repeating Decimals-WA to AC
数理题读完题第一次的算法是模拟除法运算,简单算了几个估计只要有3个连续小数与前面有一致的,就说明找到了循环节,这种算法是错误的,有很多特殊情况不能满足,所以一直WA。WA的代码:#include #include int main(){ int a0,a,b,i,j,x,len,num[100005]={0}; while(scanf("%d%d",&a,&b)原创 2015-01-29 15:00:26 · 897 阅读 · 0 评论 -
UVa 401 - Palindromes -AC
这道题看完题思路大致清晰,总体分开两个函数写,一个判断回文串,一个判断镜像串。回文串判断好写,循环判断前半截与后半截是否一致即可。关键在判断镜像串,一开始就也没多想,简单的判断呗~虽然知道要写好多,但也懒得细想。先判断字符串中有没有不是镜像字符的,有就直接返回0,没有再依次判断对称位置上的镜像字符是否对应,有不对应的就直接返回0,全都对应最后返回1.虽然直接AC了,但这样写完了190行原创 2014-12-19 23:20:32 · 517 阅读 · 0 评论 -
Uva-227 - Puzzle-AC
解体思路:二维数组储存原型,记录空格位置,按顺序移动,移动越界即为This puzzle has no final configuration.注意:1、这个题输出格式卡的我老是WA,注意具体那个空行的位置TRGSJXDOKIM VLNWPABEUQHCFARRBBL0Puzzle #1:T R G S JX O K L IM D V B NW P原创 2015-01-27 18:32:46 · 610 阅读 · 0 评论 -
1225 - Digit Counting-AC
枚举法看完题第一反应是要用字符串进行判断,但设有这么做的很麻烦。原创 2014-11-19 16:29:54 · 926 阅读 · 0 评论 -
UVa 1583-Digit Generator-AC
这道题看完题很容易出思路,再想想优化循环,不必从头到尾没个数循环判断,因为最大为10 0000,所以N的generator最小也就比N小5*9=45,所以只需循环判断从N~N-45就行了。保险起见多循环了9个数。AC代码:#include #include int main(){ int t; int b,n,m,su,i,j; scanf("%d",&t)原创 2014-12-16 08:30:18 · 686 阅读 · 0 评论 -
Uva-489 - Hangman Judge-AC
题意:猜字母,在把答案每个字母都猜到过一次之前错误少于7次就Win,在猜出之前错了7次就Lose,否则chickened out。注意:对于答案中单词中重复出现的字母,只需猜对一次。错误答案每个字母只算一次错误,例如a是错的,倘若猜测中好几个a,那也只算一个错误。思路:数组练习的惯用思路。AC代码:#include #include #include int main()原创 2015-02-11 11:02:44 · 556 阅读 · 0 评论