❶ 杭电ACM2015,提示编译错误,求解!
感觉你的算法太复杂了,其实归纳法,归纳下就行了。看下我写的代码看看吧。
#include<iostream>
using namespace std;
int main()
{
int n,m;
while(cin>>n>>m)
{
int i=0;
while(n>0)
{
if(n>m||n==m)cout<<m+1+(i++)*2*m<<' ';
else cout<<m+1+(i++)*2*m-(m-n)<<' ';
n=n-m;
}
cout<<endl;
}
return 0;
}
我提交了,不知道为什么会这样结果Presentation Error
❷ 为什么在c++上写好且运行的程序在ACM编译器上却编译错误
如果真想做ACM,就不要用VC6.0,VC对标准C++支持很差。用Dev C++.
正赛Windows系统都没有,要学会用Emacs、NetBeans、Eclipse
若出现编译错误,各OJ上都会有提示,告诉你哪行错了。
常见VC正确,但标准C++错误的:
1.void main()
纯粹M$YY
GCC和ISO C99、ISO C++98都只认可int main()
谭浩强版的main()——省略int类型名,在C89下是合法的,但在C99下也不合法了
2.main()返回参数
因为是int main(),所以return 0必不可少
3.VS的控制台程序喜欢添点SB的#include "stdafx.h"
统统去掉
4.不要用一些M$自己定义的数据类型
5.OJ只能提交单个文件,代码里不要包含非标准头文件
<iostream>别写成<iostream.h>
❸ 在VC6中运行正确,在ACM中为什么会出现编译错误
你要检查你的编译器里面有没有包括这样的函数库或者头文件
❹ 北大acm 为什么我老是编译错误啊
这样做的话肯定是错的啊,你没有学过算法就不要做acm的题目,你想太简单拉
❺ acm程序提交编译错误
VC++6跟ACM的编译器不一样,而且VC有很多ACM的编译器没有的功能,你用到这些功能就会出问题。
检查一下ACM上的编译器选的是不是C++。
检查一下VC上的工程是不是用New->Win32 Console application->Empty project建立的。检查Project settings里面C/C++栏precompiled headers部分的选项是不是disable或者auto。这些都会导致VC上通过的程序在ACM上不能通过。
你做好先找一道简单的肯定能做对的ACM题,用VC写出来拿到ACM上测试,一直调试到在ACM上能通过为止。然后这个平台不要变,以后做ACM的题都用一样的方法。
❻ 为什么ACM会报错,明明在VC上运行没问题,各位大神求救求教。
让我们来看看北大POJ的官方解释:
Runtime Error (RE):The solution has caused an unhandled exception (as defined by the runtime environment) ring execution.
Time Limit Exceeded(TLE):The solution has run for longer time than permitted. This means either the time spent on all test cases exceeds the overall limit or that spent on a single test case exceeds the per-case limit. Note that time limits for solutions in Java are tripled. These solutions are also allowed an extra 110 ms for each test case.
一般在本地没问题,上传即RE的,多是运行时数组申请不够大,一些大的测试数据使得超过了申请的空间所致。RE属于编译通过,运行时实时错误。而CE(Compile Error)属处怠边干装妨膘施博渐于编译错误。
参考资料:acm.pku.e.cn/JudgeOnline/page?id=1000
❼ 杭电ACM测试系统是不是有问题,在我的机子上编译没有问题,为什么一提交就编译错误
那就是你的写法还不够标准吧。你用的编译环境是什么。
如果你的编译器有些地方不是标准的,那就有可能会这样了,如vc6
❽ acm编译错误了
给个题目链接吧。
这个程序应该用C提交的,还有看编译信息,系统应该是禁用strrev函数的。
❾ 杭电ACM 2012 编译错误 Compilation Error
可以尝试用g++提交
由于oj网站所用的编译器与自己机子的编译器不同很可能出现编译错误的报错,你可以单机complitation error查看什么位置错了,如果觉得无法修改,使用g++重新提交,应该不会出现报错了
❿ acm 提示CE编译错误 是哪里错了
for(intj=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
swap++;
}
}
这里用到的t没有定义,应该在前面某个地方定义t。
如果还是CE,那就看看是不是交错语言了,例如选错了GCC来提交。
如果遇到CE,用OJ的话,一般点击它显示的Compile Error是可以看到怎么编译错误的