#1567: 是我誤解題意了嗎?請AC的人幫幫忙!


timmymike (超小小蝦米)

學校 : 中原大學
編號 : 2130
來源 : [61.219.23.150]
最後登入時間 :
2023-01-30 16:17:23
d138. 魔術數字X (Magic number X) | From: [219.80.34.154] | 發表日期 : 2009-03-17 15:49

 

與正確輸出不相符(line:3)
您的答案為: 275
正確答案為: 2147483611

Q:

魔術數字=(剩下的場數)+(落後者勝場數)-(領先者勝場數)+1

我的理解:

要讓阿尼雅繼續輸的次數,等於讓魔術數字算出時小於等於零的數

9 + 46 - 47 + 1 = 9(第一次的魔術數字)

4 + 46 - 52 + 1 = -1(最終結果需要得到的魔術數字)
;
21 + 30 - 49 + 1 = 3

19 + 30 - 51 + 1 = -1

所以,這個次數便是
if ( 第一次的魔術數字 % 2 == 0 ) // 代表結果需要得到的魔術數字為0
  魔術數字 /= 2 ; // 算出後便是剩下的次數(答案)
else
  魔術數字 = ( 魔術數字 / 2 ) + 1 ; // 算出後便是剩下的次數(答案)


請問是我誤解題意了嗎?哪個地方錯了呢?煩請高手解答...   T.T

 
#1586: Re:是我誤解題意了嗎?請AC的人幫幫忙!


bleed1979 (Bleed)

學校 : 不指定學校
編號 : 1489
來源 : [203.204.21.29]
最後登入時間 :
2021-05-02 22:12:13
d138. 魔術數字X (Magic number X) | From: [118.168.128.180] | 發表日期 : 2009-03-19 16:31

 

與正確輸出不相符(line:3)
您的答案為: 275
正確答案為: 2147483611

Q:

魔術數字=(剩下的場數)+(落後者勝場數)-(領先者勝場數)+1

我的理解:

要讓阿尼雅繼續輸的次數,等於讓魔術數字算出時小於等於零的數

9 + 46 - 47 + 1 = 9(第一次的魔術數字)

4 + 46 - 52 + 1 = -1(最終結果需要得到的魔術數字)
;
21 + 30 - 49 + 1 = 3

19 + 30 - 51 + 1 = -1

所以,這個次數便是
if ( 第一次的魔術數字 % 2 == 0 ) // 代表結果需要得到的魔術數字為0
  魔術數字 /= 2 ; // 算出後便是剩下的次數(答案)
else
  魔術數字 = ( 魔術數字 / 2 ) + 1 ; // 算出後便是剩下的次數(答案)


請問是我誤解題意了嗎?哪個地方錯了呢?煩請高手解答...   T.T


1.魔術數字只需算一次.

2.一定輸的情況, 如果阿尼剩下全贏都拼不過夜魅....

 

 
#1620: Re:是我誤解題意了嗎?請AC的人幫幫忙!


timmymike (超小小蝦米)

學校 : 中原大學
編號 : 2130
來源 : [61.219.23.150]
最後登入時間 :
2023-01-30 16:17:23
d138. 魔術數字X (Magic number X) | From: [218.166.77.17] | 發表日期 : 2009-03-26 13:26

這些我都知道呀!(而且我的魔術數字也只算一次)

 是哪裡誤解還是搞不懂耶 orz + T.T

對不起可以麻煩你再解釋一次嗎?

 

 
#1686: Re:是我誤解題意了嗎?請AC的人幫幫忙!


beverage (good drinking)

學校 : 新北市立板橋高級中學
編號 : 5438
來源 : [1.34.10.217]
最後登入時間 :
2016-02-21 21:55:43
d138. 魔術數字X (Magic number X) | From: [115.43.145.151] | 發表日期 : 2009-04-01 19:37

這些我都知道呀!(而且我的魔術數字也只算一次)

 是哪裡誤解還是搞不懂耶 orz + T.T

對不起可以麻煩你再解釋一次嗎?

 


魔術數字=((剩下的場數)+(落後者勝場數)-(領先者勝場數))/2+1

我認為公式應為上面這個... 

 
#1729: Re:是我誤解題意了嗎?請AC的人幫幫忙!


timmymike (超小小蝦米)

學校 : 中原大學
編號 : 2130
來源 : [61.219.23.150]
最後登入時間 :
2023-01-30 16:17:23
d138. 魔術數字X (Magic number X) | From: [218.166.76.81] | 發表日期 : 2009-04-06 23:30

照您的公式還是錯...還是搞不懂問題點在哪... 

 

# include <iostream>  
 
using namespace std ;  
 
int main() {  
 
  long int x1 = 0, x2 = 0 ; // 第一個人贏的場數和第二個人贏的場數  
  long int y1 = 0, y2 = 0 ;   
  long int set = 0 ; // 剩餘局數  
  long int magicnum = 0 ;   
  long int losset = 0 ; // 再輸幾場就結束了   
   
// 魔術數字=((剩下的場數)+(落後者勝場數)-(領先者勝場數))/2+1

  while ( cin >> x1 ) {  
    cin >> x2 >> y1 >> y2 >> set ;  
      
    if ( x1 > y1 ) // 若x1為領先者勝場數   
      magicnum = set + y1 - x1  ;  
    else 
      magicnum = set + x1 - x2  ;  
 
    if ( magicnum >= 0 ) {  
           
      cout << ( magicnum / 2 ) + 1 << endl ; 
 
    } // if  
    else 
      cout << "Must be a loser." << endl ;  
 
  } // while  
 
  return 0 ;  
 
 
} // main()  

 
#1746: Re:是我誤解題意了嗎?請AC的人幫幫忙!


beverage (good drinking)

學校 : 新北市立板橋高級中學
編號 : 5438
來源 : [1.34.10.217]
最後登入時間 :
2016-02-21 21:55:43
d138. 魔術數字X (Magic number X) | From: [115.43.151.88] | 發表日期 : 2009-04-08 00:10

照您的公式還是錯...還是搞不懂問題點在哪... 

 

# include   
 
using namespace std ;  
 
int main() {  
 
  long int x1 = 0, x2 = 0 ; // 第一個人贏的場數和第二個人贏的場數  
  long int y1 = 0, y2 = 0 ;   
  long int set = 0 ; // 剩餘局數  
  long int magicnum = 0 ;   
  long int losset = 0 ; // 再輸幾場就結束了   
   
// 魔術數字=((剩下的場數)+(落後者勝場數)-(領先者勝場數))/2+1

  while ( cin >> x1 ) {  
    cin >> x2 >> y1 >> y2 >> set ;  
      
    if ( x1 > y1 ) // 若x1為領先者勝場數   
      magicnum = set + y1 - x1  ;  
    else 
      magicnum = set + x1 - x2  ;  
 
    if ( magicnum >= 0 ) {  
           
      cout << ( magicnum / 2 ) + 1 << endl ; 
 
    } // if  
    else 
      cout << "Must be a loser." << endl ;  
 
  } // while  
 
  return 0 ;  
 
 
} // main()  


先判斷y1+m<x1   就輸定了

剩下的直接帶我那個公式 

 
ZeroJudge Forum