贏球票
某機構舉辦球票大獎賽。獲獎選手有機會贏得若干張球票。
主持人拿出 N 張卡片(上面寫著 1~N 的數字),打亂順序,排成一個圓圈。
你可以從任意一張卡片開始順時針數數: 1,2,3.....
如果數到的數字剛好和卡片上的數字相同,則把該卡片收入囊中,從下一個卡片重新數數。
直到再無法識訓任何卡片,游戲結束。囊中卡片數字的和就是贏得球票的張數。
比如:
卡片排列是:1 2 3
我們從1號卡開始數,就把1號卡拿走。再從2號卡開始,但數的數字無法與卡片對上,
很快數字越來越大,不可能再拿走卡片了。因此這次我們只贏得了1張球票。
還不算太壞!如果我們開始就傻傻地從2或3號卡片數起,那就一張卡片都拿不到了。
如果運氣好,卡片排列是 2 1 3
那我們可以順利拿到所有的卡片!
本題的目標就是:已知順時針卡片序列。
隨便你從哪里開始數,求最多能贏多少張球票(就是收入囊中的卡片數字之和)
輸入資料:
第一行一個整數N(N<100),表示卡片數目
第二行 N 個整數,表示順時針排列的卡片
輸出資料:
一行,一個整數,表示最好情況下能贏得多少張球票
比如:
用戶輸入:
3
1 2 3
程式應該輸出:
1
比如:
用戶輸入:
3
2 1 3
程式應該輸出:
6
資源約定:
峰值記憶體消耗 < 256M
CPU消耗 < 1000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:“請您輸入...” 的多余內容。
所有代碼放在同一個源檔案中,除錯通過后,拷貝提交該原始碼。
注意:不要使用package陳述句。不要使用jdk1.7及以上版本的特性。
注意:主類的名字必須是:Main,否則按無效代碼處理。
uj5u.com熱心網友回復:
救救我吧,給點思路
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/133154.html
標籤:其他
下一篇:小白的疑問
