#13906: 用DevC++ 跑測資都過 用測試執行答案卻錯


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a271. 彩色蘿蔔 -- 兔子 | From: [223.136.83.59] | 發表日期 : 2018-05-14 11:07

Code如下 , 希望大神幫忙

 

#include<iostream>
#include<string.h>


using namespace std;

int main(){
int Numbers;
int x,y,z,w,n,m;
char action[100000];
cin>>Numbers;
while(Numbers>=0){
Numbers--;
int temp,poi=0,flag=0;
cin>>x>>y>>z>>w>>n>>m;
cin.ignore();
cin.getline(action,100000);
long len=strlen(action);

for(int i=0;i<len;i++){
if(action[i]>='0'&&action[i]<='4')
{
temp=action[i]-'0';
m=m+poi;
if(m<=0)
flag=1;

switch(temp)
{
case 0:
break;
case 1:
m=m+x;
break;
case 2:
m=m+y;
break;
case 3:
m=m-z;
break;
case 4:
{
m=m-w;
poi=poi-n;
break;
}

}
}
}

if(flag==1)
cout<<"bye~Rabbit"<<endl;
else
cout<<m<<"g"<<endl;

}


return 0;

}

 
#13908: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


a0970580085@gmail.com (/)

學校 : 義守大學
編號 : 74647
來源 : [125.229.235.114]
最後登入時間 :
2023-08-30 17:36:04
a271. 彩色蘿蔔 -- 兔子 | From: [111.254.219.165] | 發表日期 : 2018-05-14 23:28

Code如下 , 希望大神幫忙

 

#include
#include


using namespace std;

int main(){
int Numbers;
int x,y,z,w,n,m;
char action[100000];
cin>>Numbers;
while(Numbers>=0){
Numbers--;
int temp,poi=0,flag=0;
cin>>x>>y>>z>>w>>n>>m;
cin.ignore();
cin.getline(action,100000);
long len=strlen(action);

for(int i=0;i<len;i++){
if(action[i]>='0'&&action[i]<='4')
{
temp=action[i]-'0';
m=m+poi;
if(m<=0)
flag=1;

switch(temp)
{
case 0:
break;
case 1:
m=m+x;
break;
case 2:
m=m+y;
break;
case 3:
m=m-z;
break;
case 4:
{
m=m-w;
poi=poi-n;
break;
}

}
}
}

if(flag==1)
cout<<"bye~Rabbit"<<endl;
else
cout<<m<<"g"<<endl;

}


return 0;

}

 

m=m+poi;

中毒體重會越來越輕

應該要扣掉 m=m-poi;

 

case 4 poi=poi-n;

中毒會累加

應該要加上 poi=poi+n;

 

 

 

 
#13917: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a271. 彩色蘿蔔 -- 兔子 | From: [223.140.49.78] | 發表日期 : 2018-05-15 14:12

Code如下 , 希望大神幫忙

 

#include
#include


using namespace std;

int main(){
int Numbers;
int x,y,z,w,n,m;
char action[100000];
cin>>Numbers;
while(Numbers>=0){
Numbers--;
int temp,poi=0,flag=0;
cin>>x>>y>>z>>w>>n>>m;
cin.ignore();
cin.getline(action,100000);
long len=strlen(action);

for(int i=0;i<len;i++){
if(action[i]>='0'&&action[i]<='4')
{
temp=action[i]-'0';
m=m+poi;
if(m<=0)
flag=1;

switch(temp)
{
case 0:
break;
case 1:
m=m+x;
break;
case 2:
m=m+y;
break;
case 3:
m=m-z;
break;
case 4:
{
m=m-w;
poi=poi-n;
break;
}

}
}
}

if(flag==1)
cout<<"bye~Rabbit"<<endl;
else
cout<<m<<"g"<<endl;

}


return 0;

}

 

m=m+poi;

中毒體重會越來越輕

應該要扣掉 m=m-poi;

 

case 4 poi=poi-n;

中毒會累加

應該要加上 poi=poi+n;

 

 

 

m=m+poi //因為poi 是 -n 所以這兩個是正確的判斷式,還是謝謝您抽空幫我看^^


我用DEVC++ 跑出來答案是正確的 不知道為何跑測試是錯的...

 
#13921: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


a0970580085@gmail.com (/)

學校 : 義守大學
編號 : 74647
來源 : [125.229.235.114]
最後登入時間 :
2023-08-30 17:36:04
a271. 彩色蘿蔔 -- 兔子 | From: [111.254.222.81] | 發表日期 : 2018-05-15 22:52

Code如下 , 希望大神幫忙

 

#include
#include


using namespace std;

int main(){
int Numbers;
int x,y,z,w,n,m;
char action[100000];
cin>>Numbers;
while(Numbers>=0){
Numbers--;
int temp,poi=0,flag=0;
cin>>x>>y>>z>>w>>n>>m;
cin.ignore();
cin.getline(action,100000);
long len=strlen(action);

for(int i=0;i<len;i++){
if(action[i]>='0'&&action[i]<='4')
{
temp=action[i]-'0';
m=m+poi;
if(m<=0)
flag=1;

switch(temp)
{
case 0:
break;
case 1:
m=m+x;
break;
case 2:
m=m+y;
break;
case 3:
m=m-z;
break;
case 4:
{
m=m-w;
poi=poi-n;
break;
}

}
}
}

if(flag==1)
cout<<"bye~Rabbit"<<endl;
else
cout<<m<<"g"<<endl;

}


return 0;

}

 

m=m+poi;

中毒體重會越來越輕

應該要扣掉 m=m-poi;

 

case 4 poi=poi-n;

中毒會累加

應該要加上 poi=poi+n;

 

 

 

m=m+poi //因為poi 是 -n 所以這兩個是正確的判斷式,還是謝謝您抽空幫我看^^


我用DEVC++ 跑出來答案是正確的 不知道為何跑測試是錯的...


我直接用你程式碼執行跑出這個

#0: 10% WA (line:802)

您的答案為: -88g
正確答案為: bye~Rabbit

#1: 90% WA (line:450)

您的答案為: -16g
正確答案為: bye~Rabbit
 
#13922: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


a0970580085@gmail.com (/)

學校 : 義守大學
編號 : 74647
來源 : [125.229.235.114]
最後登入時間 :
2023-08-30 17:36:04
a271. 彩色蘿蔔 -- 兔子 | From: [111.254.222.81] | 發表日期 : 2018-05-15 22:56

Code如下 , 希望大神幫忙

 

#include
#include


using namespace std;

int main(){
int Numbers;
int x,y,z,w,n,m;
char action[100000];
cin>>Numbers;
while(Numbers>=0){
Numbers--;
int temp,poi=0,flag=0;
cin>>x>>y>>z>>w>>n>>m;
cin.ignore();
cin.getline(action,100000);
long len=strlen(action);

for(int i=0;i<len;i++){
if(action[i]>='0'&&action[i]<='4')
{
temp=action[i]-'0';
m=m+poi;
if(m<=0)
flag=1;

switch(temp)
{
case 0:
break;
case 1:
m=m+x;
break;
case 2:
m=m+y;
break;
case 3:
m=m-z;
break;
case 4:
{
m=m-w;
poi=poi-n;
break;
}

}
}
}

if(flag==1)
cout<<"bye~Rabbit"<<endl;
else
cout<<m<<"g"<<endl;

}


return 0;

}

 

m=m+poi;

中毒體重會越來越輕

應該要扣掉 m=m-poi;

 

case 4 poi=poi-n;

中毒會累加

應該要加上 poi=poi+n;

 

 

 

m=m+poi //因為poi 是 -n 所以這兩個是正確的判斷式,還是謝謝您抽空幫我看^^


我用DEVC++ 跑出來答案是正確的 不知道為何跑測試是錯的...


我直接用你程式碼執行跑出這個

#0: 10% WA (line:802)

您的答案為: -88g
正確答案為: bye~Rabbit

#1: 90% WA (line:450)

您的答案為: -16g
正確答案為: bye~Rabbit

你最後判斷
if(flag==1)有問題

還有while(Numbers>=0) 這段也有問題

你會多算一次

 
#13925: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


fdhs10549 (邱葵)

學校 : 桃園市私立復旦高級中學
編號 : 52664
來源 : [111.82.161.50]
最後登入時間 :
2024-05-17 16:12:08
a271. 彩色蘿蔔 -- 兔子 | From: [101.139.29.101] | 發表日期 : 2018-05-16 09:55

Code如下 , 希望大神幫忙

 

#include
#include


using namespace std;

int main(){
int Numbers;
int x,y,z,w,n,m;
char action[100000];
cin>>Numbers;
while(Numbers>=0){
Numbers--;
int temp,poi=0,flag=0;
cin>>x>>y>>z>>w>>n>>m;
cin.ignore();
cin.getline(action,100000);
long len=strlen(action);

for(int i=0;i<len;i++){
if(action[i]>='0'&&action[i]<='4')
{
temp=action[i]-'0';
m=m+poi;
if(m<=0)
flag=1;

switch(temp)
{
case 0:
break;
case 1:
m=m+x;
break;
case 2:
m=m+y;
break;
case 3:
m=m-z;
break;
case 4:
{
m=m-w;
poi=poi-n;
break;
}

}
}
}

if(flag==1)
cout<<"bye~Rabbit"<<endl;
else
cout<<m<<"g"<<endl;

}


return 0;

}

 

m=m+poi;

中毒體重會越來越輕

應該要扣掉 m=m-poi;

 

case 4 poi=poi-n;

中毒會累加

應該要加上 poi=poi+n;

 

 

 

m=m+poi //因為poi 是 -n 所以這兩個是正確的判斷式,還是謝謝您抽空幫我看^^


我用DEVC++ 跑出來答案是正確的 不知道為何跑測試是錯的...


我直接用你程式碼執行跑出這個

#0: 10% WA (line:802)

您的答案為: -88g
正確答案為: bye~Rabbit

#1: 90% WA (line:450)

您的答案為: -16g
正確答案為: bye~Rabbit

你最後判斷
if(flag==1)有問題

還有while(Numbers>=0) 這段也有問題

你會多算一次


我沒看程式碼

雖看上面各位留言是本身程式有問題

不過有時執行測試的結果會和正式送出的結果不同

所以有時DEV出來是對的就相信自己送出試試

反正送出又不錢(誤

 
#13926: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a271. 彩色蘿蔔 -- 兔子 | From: [111.71.51.64] | 發表日期 : 2018-05-16 11:17

Code恕刪********

 

m=m+poi;

中毒體重會越來越輕

應該要扣掉 m=m-poi;

 

case 4 poi=poi-n;

中毒會累加

應該要加上 poi=poi+n;

 

 

 

m=m+poi //因為poi 是 -n 所以這兩個是正確的判斷式,還是謝謝您抽空幫我看^^


我用DEVC++ 跑出來答案是正確的 不知道為何跑測試是錯的...


我直接用你程式碼執行跑出這個

#0: 10% WA (line:802)

您的答案為: -88g
正確答案為: bye~Rabbit

#1: 90% WA (line:450)

您的答案為: -16g
正確答案為: bye~Rabbit

你最後判斷
if(flag==1)有問題

還有while(Numbers>=0) 這段也有問題

你會多算一次


我沒看程式碼

雖看上面各位留言是本身程式有問題

不過有時執行測試的結果會和正式送出的結果不同

所以有時DEV出來是對的就相信自己送出試試

反正送出又不錢(誤


#include<iostream>

#include<string.h>

#include<stdio.h>

 

using namespace std;

 

int main(){

int Numbers;

int x,y,z,w,n,m;

char action[200000];

 

while(cin>>Numbers){

 

for(int i=4;i>0;i--)

{

bool flag=0;

int temp,poi=0;

cin>>x>>y>>z>>w>>n>>m;

cin.ignore();

cin.getline(action,200000);

int len=strlen(action);

 

for(int i=0;i<100;i++)

cout<<action[i];

 

cout<<len;

 

for(int i=0;i<len;i++){

if(action[i]>='0'&&action[i]<='4')

{

temp=action[i]-'0';

m=m+poi;

if(m<=0)

{

flag=1;

break;

}

 

switch(temp)

{

case 0:

break;

case 1:

{

m=m+x;

break;

}

case 2:

{

m=m+y;

break;

}

case 3:

{

m=m-z;

break;

}

case 4:

{

m=m-w;

poi=poi-n;

break;

}

 

}

}

}

 

if(flag==1)

cout<<"bye~Rabbit"<<endl;

else

cout<<m<<"g"<<endl;

 

}

 

}

return 0;

 

}

 

**原本CODE刪掉,我把開頭的While改掉後,死在測資5跟9,持續思考中,感謝各位!  

#0: 10% WA (line:5)

您的答案為: bye~Rabbit
正確答案為: 12969g

#1: 90% WA (line:9)

您的答案為: bye~Rabbit
正確答案為: 12923g

 

 

 
#13927: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a271. 彩色蘿蔔 -- 兔子 | From: [111.71.51.64] | 發表日期 : 2018-05-16 11:20

Code恕刪********

 

m=m+poi;

中毒體重會越來越輕

應該要扣掉 m=m-poi;

 

case 4 poi=poi-n;

中毒會累加

應該要加上 poi=poi+n;

 

 

 

m=m+poi //因為poi 是 -n 所以這兩個是正確的判斷式,還是謝謝您抽空幫我看^^


我用DEVC++ 跑出來答案是正確的 不知道為何跑測試是錯的...


我直接用你程式碼執行跑出這個

#0: 10% WA (line:802)

您的答案為: -88g
正確答案為: bye~Rabbit

#1: 90% WA (line:450)

您的答案為: -16g
正確答案為: bye~Rabbit

你最後判斷
if(flag==1)有問題

還有while(Numbers>=0) 這段也有問題

你會多算一次


我沒看程式碼

雖看上面各位留言是本身程式有問題

不過有時執行測試的結果會和正式送出的結果不同

所以有時DEV出來是對的就相信自己送出試試

反正送出又不錢(誤


#include

#include

#include

 

using namespace std;

 

int main(){

int Numbers;

int x,y,z,w,n,m;

char action[200000];

 

while(cin>>Numbers){

 

for(int i=4;i>0;i--)

{

bool flag=0;

int temp,poi=0;

cin>>x>>y>>z>>w>>n>>m;

cin.ignore();

cin.getline(action,200000);

int len=strlen(action);

 

 

for(int i=0;i<len;i++){

if(action[i]>='0'&&action[i]<='4')

{

temp=action[i]-'0';

m=m+poi;

if(m<=0)

{

flag=1;

break;

}

 

switch(temp)

{

case 0:

break;

case 1:

{

m=m+x;

break;

}

case 2:

{

m=m+y;

break;

}

case 3:

{

m=m-z;

break;

}

case 4:

{

m=m-w;

poi=poi-n;

break;

}

 

}

}

}

 

if(flag==1)

cout<<"bye~Rabbit"<<endl;

else

cout<<m<<"g"<<endl;

 

}

 

}

return 0;

 

}

 

**原本CODE刪掉,我把開頭的While改掉後,死在測資5跟9,持續思考中,感謝各位!  重貼一次...埋的code忘了拿掉

#0: 10% WA (line:5)

您的答案為: bye~Rabbit
正確答案為: 12969g

#1: 90% WA (line:9)

您的答案為: bye~Rabbit
正確答案為: 12923g

 

 




 
#13928: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


a0970580085@gmail.com (/)

學校 : 義守大學
編號 : 74647
來源 : [125.229.235.114]
最後登入時間 :
2023-08-30 17:36:04
a271. 彩色蘿蔔 -- 兔子 | From: [111.254.220.196] | 發表日期 : 2018-05-16 21:06

 


你原本 while(Numbers>=0)  只錯小小的地方

你現在寫成for(int i=4;i>0;i--)

等於把Numbers寫死  (=4)  後面自然都不會對了

 

 

if(flag==1)  你應該是要判斷體重 而不是判斷flag (有可能吃下黃蘿蔔或發霉的蘿蔔後瘦死)  (也有可能早上中毒瘦死)

(你這樣寫等於只判斷早上有沒有中毒後瘦死)

 
#13929: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a271. 彩色蘿蔔 -- 兔子 | From: [180.177.124.98] | 發表日期 : 2018-05-16 21:47

 


你原本 while(Numbers>=0)  只錯小小的地方

你現在寫成for(int i=4;i>0;i--)

等於把Numbers寫死  (=4)  後面自然都不會對了

 

 

if(flag==1)  你應該是要判斷體重 而不是判斷flag (有可能吃下黃蘿蔔或發霉的蘿蔔後瘦死)  (也有可能早上中毒瘦死)

(你這樣寫等於只判斷早上有沒有中毒後瘦死)


Hi 曾士峰, 感謝您的幫忙,真的非常感謝你點出這問題

我把for(int i=4;i>0;i--) 改成 for(int i=Numbers;i>0;i--) 以及最後在if(flag==1||m<=0) 多加一個判斷式後就AC了

感謝你這幾天的幫忙^^

 
#13930: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


a0970580085@gmail.com (/)

學校 : 義守大學
編號 : 74647
來源 : [125.229.235.114]
最後登入時間 :
2023-08-30 17:36:04
a271. 彩色蘿蔔 -- 兔子 | From: [111.254.203.127] | 發表日期 : 2018-05-17 11:31

 


你原本 while(Numbers>=0)  只錯小小的地方

你現在寫成for(int i=4;i>0;i--)

等於把Numbers寫死  (=4)  後面自然都不會對了

 

 

if(flag==1)  你應該是要判斷體重 而不是判斷flag (有可能吃下黃蘿蔔或發霉的蘿蔔後瘦死)  (也有可能早上中毒瘦死)

(你這樣寫等於只判斷早上有沒有中毒後瘦死)


Hi 曾士峰, 感謝您的幫忙,真的非常感謝你點出這問題

我把for(int i=4;i>0;i--) 改成 for(int i=Numbers;i>0;i--) 以及最後在if(flag==1||m<=0) 多加一個判斷式後就AC了

感謝你這幾天的幫忙^^


不用客氣,有幫上你的忙就好^^

自己願意去理解,才是最重要的,不然我key再多字也是白費!

 
#13942: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


paine520520520@gmail.com (趙庭)

學校 : 不指定學校
編號 : 79864
來源 : []
最後登入時間 :
2018-05-15 19:59:07
a271. 彩色蘿蔔 -- 兔子 | From: [223.138.129.151] | 發表日期 : 2018-05-19 11:00

 


你原本 while(Numbers>=0)  只錯小小的地方

你現在寫成for(int i=4;i>0;i--)

等於把Numbers寫死  (=4)  後面自然都不會對了

 

 

if(flag==1)  你應該是要判斷體重 而不是判斷flag (有可能吃下黃蘿蔔或發霉的蘿蔔後瘦死)  (也有可能早上中毒瘦死)

(你這樣寫等於只判斷早上有沒有中毒後瘦死)

小弟剛學程式不久,想請問為什麼不能只用if(flag==1) 判斷即可,flag=1是因為條件式(m<=0)已經成立了,所以有點困惑

 
#14727: Re:用DevC++ 跑測資都過 用測試執行答案卻錯


kev8067@gmail.com (卓承緯)

學校 : 不指定學校
編號 : 74409
來源 : []
最後登入時間 :
2018-01-11 15:15:59
a271. 彩色蘿蔔 -- 兔子 | From: [114.136.171.94] | 發表日期 : 2018-08-01 14:50

 


你原本 while(Numbers>=0)  只錯小小的地方

你現在寫成for(int i=4;i>0;i--)

等於把Numbers寫死  (=4)  後面自然都不會對了

 

 

if(flag==1)  你應該是要判斷體重 而不是判斷flag (有可能吃下黃蘿蔔或發霉的蘿蔔後瘦死)  (也有可能早上中毒瘦死)

(你這樣寫等於只判斷早上有沒有中毒後瘦死)

小弟剛學程式不久,想請問為什麼不能只用if(flag==1) 判斷即可,flag=1是因為條件式(m<=0)已經成立了,所以有點困惑

Hi 
抱歉,現在才看到這個問題。
答案是可以的。

 

 

 
ZeroJudge Forum