1樓:匿名使用者
這個題目說難很難,說簡單也很簡單。
它是2023年的acm題,件:
難是因為基本沒啥直接的計算方法。
說不難,因為可以暴力來解,就是說,先依次計算1位串,2位串……把這些計算結果全部存在表中,然後字串比較查詢(可以用檢索法)。
#include
#include
int main()
for(i='a'; i<='z'; i++)for(j=i+1; j<='z'; j++)for(i='a'; i<='z'; i++)for(j=i+1; j<='z'; j++)for(k=j+1; k<='z'; k++)for(i='a'; i<='z'; i++)for(j=i+1; j<='z'; j++)for(k=j+1; k<='z'; k++)for(l=k+1; l<='z'; l++)for(i='a'; i<='z'; i++)for(j=i+1; j<='z'; j++)for(k=j+1; k<='z'; k++)for(l=k+1; l<='z'; l++)for(m=l+1; m<='z'; m++)while(scanf("%s", str) != eof)}if(i == count) printf("0\n");
}return 0;
}原題中輸入的字串最長為4,所以耗記憶體不是很多的。
如果是5或者再多,就需要很大了。
2樓:
基本演算法是,將字串 a[i] = str[i] - '0' + 1;
將陣列 a 每一位看成26進製數,然後考察陣列 a 是否無重複有序,如果有序,那麼最後結果為各位數字對於 26 進製的位權值之和。
空間複雜度 o(n) ; 時間複雜度 o(n)
請教c語言的題目,請教C語言的乙個題目?
include int main void 1,這個是正常結果,不知你所謂的 正確的結果 是何物,或者說你預期出現啥結果 2,重新開啟編譯沒有警告是因為沒有重新編譯.設定等不變動的話,一般vc不會給你重新編譯,除非你選擇 rebuild 既然沒有重新編譯,自然也就沒那些編譯產生的警告 這樣正確 in...
C語言題目 請C語言高手幫幫忙
include define max 30 定義最長可輸入的數的長度 char num max 定義乙個陣列,用於存放要輸入的字元 main p num p指向陣列第乙個元素 pr p i 1 pr指向陣列最後乙個元素,不含 0 while j i 2 else break 不一樣則退出迴圈 if ...
c語言的程式設計題目,請高手幫忙!謝謝
第一題 從鍵盤輸入任意兩個正整數x和y,程式設計求出兩數的最大公因子和最小公倍數 include int main void a 0 b 0 for i 2 i x y i if a 0 printf d 和 d 沒有公因子。最小公倍數是 d。n x,y,b else printf d 和 d 的最...