日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基础贪心算法(HDU2037今年暑假不AC)

發(fā)布時(shí)間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基础贪心算法(HDU2037今年暑假不AC) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2037

下面我附上兩篇代碼,一篇是AC的,另一篇是WA的,錯(cuò)誤原因是什么誰(shuí)知道麻煩告訴我,謝謝了

AC代碼:

  • #include <iostream>
  • #include <algorithm>
  • using namespace std;
  • struct Time
  • {
  • int s,e;
  • }N[101];
  • bool cmp(struct Time a,struct Time b)
  • {
  • return a.e<b.e;
  • }
  • int main()
  • {
  • int ans,t,i;
  • while(cin>>t)
  • {
  • if(t==0) break;
  • ans=1;
  • for(i=0;i<t;i++)
  • cin>>N[i].s>>N[i].e;
  • sort(N,N+t,cmp);
  • int n=N[0].e;
  • for(i=1;i<t;i++)
  • {
  • if(N[i].s>=n)
  • {
  • ans++;
  • n=N[i].e;
  • }
  • }
  • cout<<ans<<endl;
  • }
  • return 0;
  • }
  • WA代碼:

  • #include <iostream>
  • #include <algorithm>
  • using namespace std;
  • struct Time
  • {
  • int s,e;
  • }N[101];
  • bool cmp(struct Time a,struct Time b)
  • {
  • return a.e<b.e;
  • }
  • int main()
  • {
  • int ans,t,i;
  • while(cin>>t)
  • {
  • if(t==0) break;
  • ans=1;
  • for(i=0;i<t;i++)
  • cin>>N[i].s>>N[i].e;
  • sort(N,N+t,cmp);
  • for(i=1;i<t;i++)
  • {
  • if(N[i].s>=N[i-1].e) ans++;
  • }
  • cout<<ans<<endl;
  • }
  • return 0;
  • }
  • 知道原因了!

  • for(i=1;i<t;i++)
  • {
  • if(N[i].s>=N[i-1].e)
  • ans++;
  • }
  • 這樣比較的只是兩個(gè)相鄰的區(qū)間,如果某個(gè)節(jié)目的開始時(shí)間小于上一個(gè)節(jié)目的
    結(jié)束時(shí)間,但是卻大于前面第二個(gè)節(jié)目的結(jié)束時(shí)間ans的值依舊不會(huì)加一!?

    總結(jié)

    以上是生活随笔為你收集整理的基础贪心算法(HDU2037今年暑假不AC)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。