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


robinlin.su@gmail.com (Robin)

學校 : 國立中央大學附屬中壢高級中學
編號 : 221849
來源 : [61.57.95.237]
最後登入時間 :
2024-01-10 17:35:51
b860. 獨角蟲進化計算器 -- 板橋高中教學題 | From: [123.0.250.229] | 發表日期 : 2023-05-22 05:36

下面可以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
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
b860. 獨角蟲進化計算器 -- 板橋高中教學題 | From: [118.160.194.166] | 發表日期 : 2023-05-22 08:16

下面可以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
b860. 獨角蟲進化計算器 -- 板橋高中教學題 | From: [123.0.250.229] | 發表日期 : 2023-05-22 13:19

下面可以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才能進迴圈



 
ZeroJudge Forum