- 浏览: 146819 次
- 性别:
- 来自: 帝都
文章分类
最新评论
-
jackchen0227:
汗,谢谢啊
joj 1817: Triangle 三角形的判定 -
RootJ:
输出时候没有写:号。。。
joj 1817: Triangle 三角形的判定 -
jackchen0227:
嗯再捡捡。。
不带括号的四则运算 -
ruby_windy:
不是大二实验课写的么...
不带括号的四则运算
/* 题目不难,一个大数减法,一个大数的比较,关键是边界条件的检查 */ #include <stdio.h> #include <string.h> #include <stdlib.h> int code[10] = {0,1,2,-1,-1,5,9,-1,8,6}; //这个是0-9旋转之后的数字,-1表示旋转之后出错 /* 大数的减法 */ void minus(char s[1000],char s1[1000]) { int k = 0; for(int i=strlen(s) - 1;i> -1;i--) //注意此时倒着计算,是从 strlen(s) - 1开始,不是从 strlen(s) { if(s[i] < (s1[i] + k)) { //s[i] = 10 + s[i] - s1[i] - k; //做减法后还要转换成字符,也就是加上 '0' s[i] = 10 + s[i] - s1[i] - k + '0'; k = 1; } else { s[i] = s[i] - s1[i] - k + '0'; k = 0; } } bool flag = false; //由于结果的高位也就是数组的前面可能出现 0,而这些 0 是没有必要输出的。 for(int j=0; j<strlen(s);j++) { if(flag) { printf("%c",s[j]); continue; } if(s[j] == '0') continue; // s[j] = '\0'; else { printf("%c",s[j]);//别忘了这个,这个边界要注意 flag = true; } } printf("\n"); } int cmp(char s[1000],char s1[1000]) { if(s[0] > s1[0]) //如果最高位不同 { return 1; } else if((s[0] < s1[0])) { return -1; } else if(s[0] == s1[0]) //最高位相同 { int k = 0; while(s[k] == s1[k] && k < strlen(s)) //这个地方表示相同则一直向后走, k++; /* 这被注释掉两个语句出现的原因是刚开始考虑的是此时的s[k] != s1[k],所以要回退一下, 因此如果两个数字完全相同的话,k 会退后就是 strlen(s) - 1,不是strlen(s) 但是下面的操作直接是从不相等的部分开始的,所以没有必要回退 */ //k --; //if(k == strlen(s1) - 1) if(k == strlen(s)) //可能有两个数字相等的情况。 return 0; else if(s[k] > s1[k]) return 1; else return -1; } } int main() { char str[1000]; char str1[1000]; int time = 0; freopen("in.txt","r",stdin); scanf("%d",&time); for(int i=0;i<time;i++) { memset(str,'\0',sizeof(str)); memset(str1,'\0',sizeof(str1)); scanf("%s",str); int j = 0; int len = strlen(str); while(j< len) { if(code[str[j] - '0'] == -1) break; str1[len - j - 1] = code[str[j] - '0'] + '0'; j ++; } if(j < len) { printf("ERROR\n"); continue; } switch(cmp(str,str1)) { case 0: printf("0\n"); break; case -1: { minus(str1,str); break; } case 1: minus(str,str1); break; } } return 0; } /* int main() //这个方案是错误的是因为没有考虑大数的问题 { int time; int num; freopen("in.txt","r",stdin); scanf("%d",&time); for(int i=0;i<time;i++) { scanf("%d",&num); int tmpNum = num,newNum =0,tmp; int j = 0; while(tmpNum != 0) { if( code[tmpNum % 10] == -1) break; newNum = code[tmpNum % 10] + newNum * 10; j++; tmpNum = tmpNum /10; } if(tmpNum != 0) printf("ERROR\n"); else if(num > newNum) printf("%d\n",num - newNum); else printf("%d\n",newNum - num); } fclose(stdin); return 0; } */
水题一个,对我来说关键的是 边界条件的检查
发表评论
-
-在二元树中找出和为某一值的所有路径--捡捡递归的使用
2012-03-30 21:05 930/* 算法要求:打印从root到叶节点的路径上的权值和 为 ... -
不带括号的四则运算
2011-10-09 21:24 1473/* 不带括号的表达式的四则运算 使用两个堆栈,一个o ... -
[zz]catalan数的分析与应用
2011-06-25 22:09 1375性质 令h(0)=1,h( ... -
joj 1085: I Think I Need a Houseboat 半圆形侵蚀
2011-06-24 20:54 9781085: I Think I Need a Ho ... -
joj 1032 deck 重心的计算
2011-06-24 19:12 11301032: Deck Result TIME ... -
joj 1186 Box of Bricks 水题
2011-06-19 09:46 9581186: Box of Bricks Re ... -
***joj 1026 the staircase 利用递归、动态规划和一道类似题目
2011-06-18 19:27 1303转自网易何国涛的博客http://zhedahht.bl ... -
joj 1062 Computer Versus Mankind 非递归最大公约数 最小公倍数
2011-06-18 15:15 12431062: Computer Versus Mankin ... -
基本的排序:非递归的堆排序
2011-06-17 15:38 0void restore(int root,int le ... -
joj 1817: Triangle 三角形的判定
2011-06-15 20:34 13411817: Triangle Result ... -
×joj 1175 The Binomial Function 递归,递归优化,非递归
2011-06-15 19:32 8721175: The Binomial Functio ... -
joj 1146 标准输入+字符串反转
2011-06-15 18:02 11691146: Word Reversal Re ... -
joj 1149Binary Number 二进制移位操作
2011-06-15 09:50 9641149: Binary Numbers R ... -
joj 2484
2011-06-14 13:35 8542484: Chinese Character A ... -
**joj:1017 fire net 递归回溯的使用
2011-06-14 12:35 11141017: Fire Net Res ... -
joj 1014 the matrix 从八个方向遍历访问矩阵
2011-06-10 20:51 12091014: The Matrix Re ... -
joj 1013 Polynomial Multiplication多项式乘法的计算
2011-06-10 19:54 13251013: Polynomial Multiplic ... -
[zz] c 与 c++ 中的内存分配
2011-06-08 21:45 1333C语言跟 ... -
new 与malloc的区别
2011-06-08 21:24 2482学过C++和C语言的一般都会对编程语言中的内存分配有点小困 ... -
**joj 1903 tug of war 使用动态规划
2011-06-07 10:36 14981903: Tug of War R ...
相关推荐
joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考 joj 部分题目答案 自己做的 仅供参考
5. **IO模型**:快速读写技巧,如scanf/printf与cin/cout的比较,预处理大输入数据等。 6. **调试技巧**:学会利用调试工具找出程序错误,如GDB或IDE的内置调试器。 7. **在线评测系统**:了解JOJ和其他在线评测...
【标题】"joj acm 部分习题解答"揭示了这是一份与JOJ(Judge Online Job)和ACM(国际大学生程序设计竞赛)相关的资源,主要是作者对于某些题目的解题思路和代码实现。JOJ是用于在线评测编程竞赛题目的一种平台,而...
【标题】"JOJ-jilin-university--acm.rar_joj" 提供的是吉林大学JOJ在线判题系统的编程竞赛代码集,主要用于帮助初学者入门。 【描述】中的信息表明,这个压缩包内的代码样例是专门为在JOJ平台上进行编程训练的学生...
如果是单一的源代码文件,那么它可能解决了JOJ平台上的1237号问题或者与"acm"相关的某个特定问题。 总结这些知识点,我们可以得出以下要点: 1. ACM编程竞赛:这是一种国际性的算法竞赛,培养学生的编程和解决问题...
- Belady异常:这是FIFO特有的问题,当分配给进程的物理页面增多,原本不会发生缺页的序列可能会出现更多的缺页,这与直觉相悖。 - 长驻区问题:如果某些页面频繁访问,即使它们是早期调入的,FIFO也会错误地淘汰...
5. **与其他工具集成**:由于 Joj 提供的是标准的 Java 对象,因此它可以很容易地与现有的 Java 工具和框架集成,如构建工具 Maven 或 Gradle,以及代码分析和质量检查工具 SonarQube 等。 6. **社区支持**:开源的...
Etre au courant quand JoJ est en live,策划人semaine et liens vers lesréséauxauxsocioaux Soyez au courant纠结JoJ开始à流光! 现场直播将继续进行。 约翰·奎因·伊斯特·布鲁和克林·德集团的非官方网站 D...
标题“joj 1424 硬币兑换问题”描述的是一个经典的计算机编程问题,它涉及到使用动态规划(Dynamic Programming, DP)方法来解决硬币找零问题。在这个问题中,我们要找到使用最少数量的硬币来凑成特定金额的方式。...
吉林大学 joj 1000-2645题代码,嘿嘿,大家就不用在花JPOINT买代码了,祝ACMer实现自己的心愿
根据给定的信息,本文将详细解释“acm joj 1600”中的两种大数取模运算方法。此问题主要关注如何高效地计算形如 \(a^b \mod m\) 的表达式,这对于处理大数据或进行密码学运算非常重要。 ### 大数取模运算 #### ...
文档描述进一步强调了题集的来源、格式以及它与吉林大学在线裁判系统的关联性。这表明该题集不仅是一份纸质材料,还可以通过在线平台进行提交和评测,为参赛者提供了一种实践和训练的方式。 ### 题集结构分析 ####...
这个题其实现在想起来也不知道是怎么就给ac的。
该mod基于荒木飞吕彦的JoJo的奇妙冒险漫画和动漫系列。 这个mod也受到KnightDemon的1.12 mod 极大启发。 这个mod的目的是要从专营权中尽可能多地增加Minecraft,该mod目前仅包含Stand能力,其他能力(Hamon,...
3. **工期目标**:确保工程在约定的时间内完成,安全管理部门需要加强监督,并与项目部紧密合作,制定详尽的月度和周度计划,协调业主、设计单位和监理的工作,以在保证质量的前提下提前完成工程。 4. **现场管理...
furystudios 普尔维·扎达塔克(Prvi zadatak) ...DroppingOff - radnikhodajućidolazi做pripadajuće科萨雷(izvedeno kroz provjeru tagova kutije)我卡达joj JE dovoljno blizu,fizičkiJE lan
Este Projeto签证是由estoque进行的,它是由mer mercadorias uma determinada empresa sejam averiguadas和atualizadas ... 2021年1月20日,由JoséCláudiodeAraújoJúnior和Annielly Ferreira de Sousa所设计。
大智慧最新安装包,老的已经过期不能查询个人自选股,所以推荐最新的大智慧给大家安装