❶ 杭電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是可以看到怎麼編譯錯誤的