acm大一培训1

上传人:yx****d 文档编号:243373983 上传时间:2024-09-22 格式:PPT 页数:24 大小:67KB
返回 下载 相关 举报
acm大一培训1_第1页
第1页 / 共24页
acm大一培训1_第2页
第2页 / 共24页
acm大一培训1_第3页
第3页 / 共24页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,常见反馈情况分析,Accepted,,即通常所说的AC,表示你的程序通过了所有的测试数据,已经被接受,恭喜你!,Wrong Answer,,简称为WA(读“挖”),表示答案错误了,可能是你的算法有问题,再检查你的程序吧!,1,Presentation Error,,即所谓的PE错误,表示你的程序虽然答案正确,但是输出的格式和题目要求不符,比方说有多余的空格、该换行的地方没有换行、不该换行的地方你却换行等等这些。,PE问题一般原因,:,1.,格式问题要注意 每行最后要有回车,并且行末不能有多余的空格,。,2.,答案正确,但格式不,正确,,可能是多输出了space/tab/return,。,2,Time Limit Exceeded,,即超时或者TLE错误,表示你的程序运行时间过长,超出了题目要求的范围,这说明你的算法还不够优化,为了解决这个问题,你可能需要检查一下你的程序是否有死循环,也恐怕要重新设计你的算法,或者通过一些手段(例如inline、register变量或者预处理等等)来减小你程序的常数因子。,3,Memory Limit Exceeded,,即超内存或者MLE错误,表示你的程序在执行过程中分配了过多的内存,已经超出了题目允许的范围,为了解决这个问题,你可能需要重新设计算法,或者通过改变数组的元素类型(例如从int变为short或者char),采用位压缩存储,或者是在动态规划问题中使用滚动数组等手段来减少内存开销。,4,Output Limit Exceeded,,即输出溢出或者OLE错误,表示你的程序输出的内容过多,超出了TOJ允许的范围,这时你应该检查一下你的程序里面是否有包含输出语句的死循环,导致程序不断输出从而超越了TOJ的界限。,Runtime Error,,即运行时错误或者RTE,表示你的程序执行了“非法操作”,在Windows下,一般这会导致弹出一个“非法操作”的提示框。造成这种问题的原因主要可能是内存访问越界,除以0,或者堆栈溢出(注意不要开太大的局部变量或者递归得太深)等原因,此外,如果你的程序长时间没有响应,TOJ也会判为Runtime Error。,5,Compile Error,,即编译错误或者CE,表示你的程序没有通过编译,看一下你是否提交时选错了语言,或者你的程序语法上本身就存在问题。遇到这个错误时,你可以在Judge Status页面点击此错误,察看编译器输出的详细错误信息。,System Error,,即系统错误或SE,表示OJ评测系统遇到了无法解决的问题,遇到这种情况一般联系管理员,6,NYOJ 39:水仙花数,输入:,有多组测试数据,每组测试数据以包含一个整数n(100=n=100 & n1000),a=n%10;,b=n/10%10;,c=n/100;,if(n=a*a*a+b*b*b+c*c*c),printf(Yesn);,else,printf(Non);,return 0;,8,NYOJ 324:猴子吃桃问题,有一堆桃子不知数目,猴子第一天吃掉一半,又多吃了一个,第二天照此方法,吃掉剩下桃子的一半又多一个,天天如此,到第m天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? (m29),输入:,第一行有一个整数n,表示有n组测试数据(从第二行开始,每一行的数据为:第m天);,输出,每一行数据是桃子的总个数。,样例输入 样例输出,2 22,3 6142,11,9,#include ,int main(),int n,i;,scanf(%dn,for(i=0; in; i+),int m,j,t=1;,scanf(%d,for(j=0; jm; j+),t=(t+1)*2;,printf(%dn,t);,return 0;,10,题目NYOJ 266:,字符串逆序输出,给定一行字符,逆序输出此行(空格.数字不输出),。,第一行是一个整数N(N10)表示测试数据的组数),,,每组测试数据占一行,每行数据中间有且只有一个空格(这样你可以把此行当成两个字符串读取)。每行字符长度不超过40,并且保证输入的字符只有空格(1个),数字,小写字母三种,输入: 输出:,3,abc 123de,edcba,abc 123,cba,abc d,dcba,11,#include ,#include ,int main(),int n,i;,char a40;,scanf(%dn,for(i=0; i=0; j-),ch=aj;,if(ch=a & ch=z),printf(%c,ch);,printf(n);,return 0;,12,NYOJ 31:5个数求最值,设计一个从5个整数中取最小数和最大数的程序。,输入:,输入只有一组测试数据,为五个不大于1万的正整数,输出:,输出两个数,第一个为这五个数中的最小值,第二个为这五个数中的最大值,两个数字以空格格开,样例输入,1 2 3 4 5,样例输出,1 5,13,#include ,int main(),int i,j,t,a5;,for(i=0; i5; i+),scanf(%d,for(i=0; i5; i+),for(j=i+1; jaj),t=ai;,ai=aj;,aj=t;,printf(%d,a0);,printf( );,printf(%dn,a4);,return 0;,14,NYOJ 29:求转置矩阵问题,求一个三行三列的转置矩阵。,输入:,第一行一个整数n20,表示有n组测试数据,下面是n组数据;,每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项;,输出:,每组测试数据的转置矩阵;,请在每组输出之后加一个换行,15,样例输入,2,1 2 3 4 5 6 7 8 9,2 3 4 5 6 7 8 9 1,样例输出,1 4 7,2 5 8,3 6 9,2 5 8,3 6 9,4 7 1,16,#include ,int main(),int n,i;,scanf(%dn,for(i=0; in; i+),int a33,j,t;,for(j=0; j3; j+),for(t=0; t3; t+),scanf(%d,for(j=0; j3; j+),for(t=0; t3; t+),printf(%d ,atj);,printf(n);,printf(n);,return 0;,17,hdu 2008:数值统计,统计给定的n个数中,负数、零和正数的个数。,Input,输入数据有多组,每组占一行,每行的第一个数是整数n(n100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。,Output,对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。,Sample Input,Sample Output,6 0 1 2 3 -1 0,1 2 3,5 1 2 3 4 0.5,0 0 5,0,18,#include,int main(),int n,i,b3;,float a;,while(scanf(%d,&n),n!=0),b0=b1=b2=0;,for(i=0;in;i+),scanf(%f,if(a0),b2+;,printf(%d %d %dn,b0,b1,b2);,return 0;,19,题目NYOJ 24:,现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度。如果左右有等距离长度素数,则输出左侧的值及相应距离。如果输入的整数本身就是素数,则输出该素数本身,距离输出0,。,输入,:,第一行给出测试数据组数N(0N=10000),接下来的N行每行有一个整数M(0M1000000),,输出,:,每行输出两个整数 A B.,其中A表示离相应测试数据最近的素数,B表示其间的距离。,20,输入 输出,3,5 1,6,7 1,8,11 1,10,#include ,int CH(int n),int i;,for(i=2; i*i=n; i+),if(n%i=0) return 0;,if(i=n),return 1;,21,int main(),int n,i;,scanf(%dn,for(i=0; in; i+),int m,j=0;,scanf(%d,if(m=1),printf(%d %dn,2,1);,else ,while(1),if(CH(m-j),printf(%d %dn,m-j,j);,break;,else if(CH(m+j),printf(%d %dn,m+j,j);,break;,else j+;,return 0;,22,hdu 2031:进制转换,输入一个十进制数N,将它转换成R进制数输出。,Input,输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(210)。,Output,为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。,Sample Input,sample output,7 2,111,23 12,1B,-4 3,-11,23,#include,int main(),int N,R,i,k,flag=1;,char ans1000,str1000;,while(scanf(%d%d,&N,&R)!=EOF),k=0;,if(N=0;i-),if(ansi10),printf(%d,ansi);,else printf(%c,ansi+55);,printf(n);,return 0;,24,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!