1027 lightoj危険な迷路は、所望の

答えがRで提供される、CNTは、x [i]が> = 0の数であります

那么R = 1 / N *(ΣX[I](X [I]> = 0)+Σ(R - X [i])と(X [i]が<0))

次いでRを得るために一緒に式rの溶液に転置=Σ| GCDを除い/ CNT、| X [I]。特殊なXの下で言い渡さ覚えて[i]は負の状況がすることができます。

1の#include <cstdioを>
 2の#include <アルゴリズム>
 3  使用して 名前空間STDを、
4  INT T、CAS、N、TOT、GCD、CNT。
5  INT X [ 110 ]。
6  INT メイン()
 7  {
 8      (scanf関数(" %のD "、&​​T);!T = 0 ; T-- 9      {
 10          CAS ++ 11          TOT = CNT = 0 12          のscanf(" %d個"、&N)
13          のためにint型 i = 1 ; iが<= N; iが++ 14          {
 15              のscanf(" %dの"、およびX [I])。
16              であれば(X [i]が> = 0 17              {
 18                  CNT ++ 19                  TOT + = X [i]は、
20              } そうでなければ
21                  TOT - =のX [i]は、
22          }
 23          であれば(CNT == 0 24          {
 25             printf(" ケースは%d:INFの\ nを" 、CAS); 
26              続け;
27          }
 28          GCD = __gcd(TOT、CNT)。
29          のprintf(" ケース%D:%D /%D \ n "、CAS、TOT / GCD、CNT / GCD)。
30          
31      }
 32      リターン 0 33 }

 

おすすめ

転載: www.cnblogs.com/iat14/p/11410053.html