貪心演算法例題

2022-07-29 17:12:12 字數 1151 閱讀 2659

例1:均分紙牌

int

main()

printf(

"各堆紙牌的數量為:\n");

intm;

for(m = 0; m < n; m++)

printf(

"%d\t

", a[m]);

printf("\n

");v = v/n;

printf(

"每堆牌的平均數為%d \n

", v);

for (i =0; i < n-1; i++)

}printf(

"一共移動了%d步。\n

",s);

printf(

"現在每堆紙牌數量是:\n");

for(m = 0; m < n; m++)

printf(

"%d\t

", a[m]);

printf("\n

");system(

"pause");

return0;

}

例2: 設有n 個正整數,將他們連線成一排,組成乙個最大的多位整數。例如:n=3時,3個正整數13, 312, 343,連線成的最大整數為343312213.

#include #include 

intmain()

;

char t1[20] = ;

char t2[20] = ;

printf(

"請輸入有多少個正整數:");

scanf("%d

", &n);

for (i=1; i1; i++)

scanf("%s

", s[i]); //

直接儲存為字串陣列

for(j=1; j<= n-1; j++) //

氣泡排序

for(i=1;i<=n-j; i++)

}printf(

"\n連線的最大正整數是:");

for (i=1; i<=n; i++)

printf("%s

", s[i]);

printf("\n

");system(

"pause");

return0;

}

貪心演算法例題

貪心演算法 greedy 分階段地工作,在每乙個階段都可以認為所做的決定是最好的,而不用考慮後果。這就意味著得到的是區域性最優解決方案,當演算法結束時,如果乙個乙個區域性最優解能組成全域性最優解決,那麼就說明這個演算法是正確的 如果不是,則此演算法的到的結果就是乙個次優解。因此,如果使用貪婪演算法得...

貪心演算法例題

牛牛舉辦了一次程式設計比賽,參加比賽的有3 n個選手,每個選手都有乙個水平值a i.現在要將這些選手進行組隊,一共組成n個隊伍,即每個隊伍3人.牛牛發現隊伍的水平值等於該隊伍隊員中第二高水平值。例如 乙個隊伍三個隊員的水平值分別是3,3,3.那麼隊伍的水平值是3 乙個隊伍三個隊員的水平值分別是3,2...

貪心演算法例題

貪心演算法 移除k個數字 1 題目描述 給定乙個以字串表示的非負整數 num,移除這個數中的 k 位數字,使得剩下的數字最小。注意 num 的長度小於 10002 且 k。num 不會包含任何前導零。2 題目分析 題目簡介明了,就是把給定的數字刪除指定個數的數字使刪除之後的數字是同等位數數字中最小的...