貪心 刪數問題,c 貪心 刪數問題wrong answer求解

時間 2022-05-22 22:10:08

1樓:匿名使用者

太難寫了,我實在找不到更好的辦法,我只寫到了第4位,你可以拿去看看,你可以繼續完善,或者運用!

#include

int sel (int);

int sum,len,in[20];

void main()

len = i;

if (-1==(sum = sel(num)))

return;

printf("【輸出】\n%d\n",sum);

}int sel(int n)

}break;

case 3:

sum = in[2]*100+in[1]*10+in[0];

for (j=0;j(in[l]*100+in[k]*10+in[j])?(in[l]*100+in[k]*10+in[j]):sum;}}

}break;

case 4:

sum = in[3]*1000+in[2]*100+in[1]*10+in[0];

for (j=0;j(in[m]*1000+in[l]*100+in[k]*10+in[j])?(in[m]*1000+in[l]*100+in[k]*10+in[j]):sum;}}

}}break;

case 5:

case 6:

default:

printf("輸入錯誤或超限!\n");

return -1;

}return sum;}

c++【貪心】刪數問題wrong answer求解

2樓:匿名使用者

我不知道題上有沒有說n裡沒有任何一位是0,如果有就掛了:101 1可以改改:

#include

#include

using namespace std;

int main()

{string n;

long s,i,p;

cin>>n>>s;

long len=n.length();

long t=len;

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

{int k=5;

for(o=p;o

貪心演算法問題

3樓:潮汐之湧動

//身為大一菜鳥的我曾錯了n次的題

//演算法是從頭開始掃過去,若當前掃到的數比下一個大,則刪,刪後回退到上一個未被刪的數繼續,直到刪完指定數或掃到最後一個元素,若刪不夠指定的數,則此刻陣列肯定是遞增的,所以只要從後向前刪至足夠數量便行了

#include

#include

using namespace std;

char str[250];

int a[250];

int b[250];

int main()

c = 0;

l = 0;

for (r = 1; str[r] != '\0';)else

else}}

t = r - 1;

for (; c

if (f == 0)

cout << str[0];

i = 0;

for (i = a[i]; i

} while (1);

return 0;}

刪數問題 貪心法

4樓:好人卡的神話

原來你想問的是為什麼要這麼刪啊。

整題答案:

#include

#include

using namespace std;

void main() }

}cout << num << endl;

}會輸出所有被消除的數字和最終結果。

要這麼刪是邏輯思考,因為要得到最小數字就肯定是要按照升序排列(因為越靠前的數字的位數越大,要使整體數字小,這個位數上的數就一定要小。),如果不是升序排列,就要把剛開始降序的那個數給刪除掉(也是越靠前越優先刪除,因為位數大的關係),這樣後面那個比較小的數就會來補充這個位數,這樣就使數字變小了。

所以按著這個方法刪肯定能得到最小數。

5樓:

你在做的是一個多位數的問題吧

6樓:

就是這樣:

例如:n = 123764

s = 2

各步操作如下:

1、找到了第一個遞增區間1237,發現76是遞減區間,則刪除7,n變為12364

2、按上一步維護這個串,得n = 1234注意:此時若s = 3,則在得到串1234後,還要從末尾刪除4才可以

為什麼現在刪了一個問題的答案之後會把你之前回答的給刪掉,是封號了嗎?

7樓:七天一次辛苦

問題之間都是相對獨立的,被刪可能是回答違規/系統誤刪如果你被封號了,就無法提問或是回答問題,如果問題被誤刪你可以嘗試申訴而被刪問題提交後,無論是未採納問題,還是已經解決的問題後期都會由管理員進行二次推優,如果確實是違規的回答還是會被刪除

8樓:媒介匣

你要是還可以回答,那就沒有被封,你有能是誤刪了

誰幫我刪問題???太,,,,不要電腦 ,,,緊急??

9樓:在梅嶺放風箏的彗星

你要手機刪,新客戶端更新後取消了刪題功能

要手機刪你得用7.9之前的舊客戶端才行,網上很多

或者最簡單方便的刪除方法,是網頁端花50財富刪

c語言求平均數問題,C語言求平均數問題

愛小學數學輔導 一道簡單的求平均數問題,稍不注意就做錯了 hello.c hello,world include stdio.h include conio.h main 你的那個我修改,始終有問題,還是我自己幫你重新寫了個,這個就能計算出3個數的平均值了 include void main inc...

C 隨機數問題

string str c 一個很小程式 char strarr 取出由漢字組成的字串和非漢字字串。string englisthstr chinsestr foreach char s in strarr bool isch u4e00 u9fa5 if isch chinsestr elseeng...

一道c語言問題,關於隨機數的

include include include int main while flag 1 for i 0 i include stdafx.h vc 6.0加上這一行.include stdio.h void main void printf n 供參考 你這樣寫的話每次只做i次判斷,你能確保你每...