ACM的一道簡單題,向大牛們求助啊

時間 2021-08-30 09:32:05

1樓:匿名使用者

直接bfs即可

不用並查集

#include

#include

#include

#include

using namespace std;

bool adj[2001][2001];

bool odd[2001];

bool vis[2001];

bool ***[2001];

bool flag;

int num;

void bfs(int j)

else

flag = false;

}memset(vis,0,sizeof(bool)*num);

for(int j=0;flag&&j

cout << "suspicious bugs found!" << endl << endl;

else cout << "no suspicious bugs found!" << endl << endl;

}return 0;}

2樓:仇獻禕

這個是因為你的變數

int eenum[3020000];

int jnum[500000];

是定義在棧裡的,而windows裡面每個應用程式能使用的棧空間最大只有1mb,你這應經超過範圍了,所以會出現棧溢位的錯誤,但是下面的**是把這兩個陣列定義在全域性範圍的,所以沒有你這個限制,因此沒有錯誤,其實程式的邏輯上這兩個程式沒什麼區別的,你只要把這兩個定義為全域性的就好了

3樓:惟一

170035036 加這個群 問問裡面的高手

一道簡單的acm題~~大牛幫忙啊~hoj 的10010題答好加分!!!!

4樓:匿名使用者

這個是因為你的變數

int eenum[3020000];

int jnum[500000];

是定義在棧裡的,而windows裡面每個應用程式能使用的棧空間最大只有1mb,你這應經超過範圍了,所以會出現棧溢位的錯誤,但是下面的**是把這兩個陣列定義在全域性範圍的,所以沒有你這個限制,因此沒有錯誤,其實程式的邏輯上這兩個程式沒什麼區別的,你只要把這兩個定義為全域性的就好了

有關acm演算法的一道題,請各位大牛幫幫忙!!!

5樓:匿名使用者

while(scanf("%d",&a)!=eof)程式需要可以輸入多組資料的啊,不是演算法的問題,而是**不符合要求 我的回答多餘了 呵呵

6樓:匿名使用者

這個應該是杭電的一道acm題目 超時是你沒有注意到多組資料的輸入,基於樓上的給你介紹了**,我給你介紹下基本的acm輸入模式:

一般題目沒有說明就是預設讀到eof就結束 既採用這個模式

還有就是說明給多少組測試資料 這個一般採用while(n--)

還有一種就是尾部有終止符之類的,以0為終止符, 你可以採用這個模式:

while(1)}}

一般acm的題目都是這三種模式之一 如果遇到其他特殊 可以和我聯絡

求助一道簡單的英語題

where can i buy this kind of bicycle?對於地點提問題,肯定用where 還有,陳述句為第一人稱或第二人稱時,提問時都要轉換一下人稱,第三人稱就不用了 對地點提問,疑問詞當然是where了 然後將剩餘部分變一般疑問句,第二人稱變第一人稱,即can i buy thi...

高分求一道ACM程式設計題 一道我自己超時的題,求大神說一下思路,比較水的題

採用動態規劃來做吧。假設a 0 1,a 1 5,a 2 6,a 3 3,a 4 7,a 5 8 d i j 表示a i j 之間的最大分差可見d 0 0 d 1 1 d 5 5 0d 0 1 4 d 1 2 1 d 2 3 3 d 3 4 4 d 4 5 1 下面就是動態規劃的遞推方程了。為 d i...

求助一道題英語題,求助一道英語題

英語作為三大主科之一,一直也是同學們比較頭疼的一門科目,在學習過程中對於很多知識點都掌握不透徹,這也導致在做題的時候經常出錯。比如,同學們在平時做題的過程中常常有這樣的現象 有些題目看起來很眼熟,於是按照以往的經驗輕而易舉就得出 正確答案 卻不料這是命題者設下的乙個 陷阱 導致失分。這樣的題,就是我...