下面可以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;
}
下面可以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;
}
如果輸入的糖果數量太少會有問題
下面可以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才能進迴圈