#35291: 90% WA, #7測資為何會錯?


robinlin.su@gmail.com (Robin)

學校 : 國立中央大學附屬中壢高級中學
編號 : 221849
來源 : [61.57.95.237]
最後登入時間 :
2024-01-10 17:35:51

下面可以AC但要將進化條件c+w>=13, 為何不能用c>=12 && w>=1?

#include<iostream>
using namespace std;

int main()
{
    int c,w;   //c:糖果數, w:獨角蟲數量
    while(cin>>c>>w)
    {
        int n=0;    //n:進化次數;
        while(c+w>=13)   //可進化條件c=12 w>=1; 用c>=12 && w>=1會有測資出錯???
        {
            c-=11;  //進化-12顆糖再得一顆糖
            n++;
            c++;  //得一個蛹可換一顆糖
            w--;
            while(c<12)  //直到糖果有12個可供進化
            {
                w--;
                c++;
            }
        }
        cout<<n<<endl;
    }
    return 0;
}

 
#35292: Re: 90% WA, #7測資為何會錯?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

下面可以AC但要將進化條件c+w>=13, 為何不能用c>=12 && w>=1?

#include
using namespace std;

int main()
{
    int c,w;   //c:糖果數, w:獨角蟲數量
    while(cin>>c>>w)
    {
        int n=0;    //n:進化次數;
        while(c+w>=13)   //可進化條件c=12 w>=1; 用c>=12 && w>=1會有測資出錯???
        {
            c-=11;  //進化-12顆糖再得一顆糖
            n++;
            c++;  //得一個蛹可換一顆糖
            w--;
            while(c<12)  //直到糖果有12個可供進化
            {
                w--;
                c++;
            }
        }
        cout<    }
    return 0;
}

 


如果輸入的糖果數量太少會有問題

#35294: Re: 90% WA, #7測資為何會錯?


robinlin.su@gmail.com (Robin)

學校 : 國立中央大學附屬中壢高級中學
編號 : 221849
來源 : [61.57.95.237]
最後登入時間 :
2024-01-10 17:35:51

下面可以AC但要將進化條件c+w>=13, 為何不能用c>=12 && w>=1?

#include
using namespace std;

int main()
{
    int c,w;   //c:糖果數, w:獨角蟲數量
    while(cin>>c>>w)
    {
        int n=0;    //n:進化次數;
        while(c+w>=13)   //可進化條件c=12 w>=1; 用c>=12 && w>=1會有測資出錯???
        {
            c-=11;  //進化-12顆糖再得一顆糖
            n++;
            c++;  //得一個蛹可換一顆糖
            w--;
            while(c<12)  //直到糖果有12個可供進化
            {
                w--;
                c++;
            }
        }
        cout<    }
    return 0;
}

 


如果輸入的糖果數量太少會有問題  瞭了,一開始若糖果少於12而蟲很多時,要c+w>=13才能進迴圈