TOJ5398: 签到大富翁(简单模拟) and TOJ 5395: 大于中值的边界元素(数组的应用)...
Python代碼!!!
5395 傳送門:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=5395
5398傳送門:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=5398
5395:大于中值的邊界元素
時間限制(普通/Java):1000MS/3000MS ? ? 內存限制:65536KByte
描述
給定一個二維數組,求二維數組的邊界元素中,大于二維數組“中值”的元素個數。這里的“中值”定義為一個元素序列中:
(1)當元素個數為奇數時,即為中間大的元素;
(2)當元素個數為偶數時,為中間大的兩個元素的平均值。
輸入
第一行為兩個元素n和m,表示二維數組的行數和列數。
接下來又n行,每行m個整數,表示數組元素值。
1<=n,m<=100。
輸出
輸出大于中值的元素個數。
樣例輸入
3 3
1 2 3
2 3 1
4 1 5
樣例輸出
3
提示
中值為2,因此邊界元素中大于2的元素個數為3個。
思路:
因為題目要求中位數,所以不知道整個數組是奇數個還是偶數個的情況下,還是直接把數組元素都用float存儲比較好。
然后就是存的時候可以浪費一下空間,存一個二維數組,另外再把所有元素存到一個一維數組,這樣找中位數方便一點。
然后比較就是比較四個邊上的元素和中位數比較。easy!
if __name__ == "__main__":n ,m = map(int,input().split())a,b,sum = [[0 for i in range(m)]for j in range(n)],[],0for i in range(n):a[i] = input().split()for j in range(m):a[i][j] = float(a[i][j])b.append(a[i][j])b.sort()num = float(b[len(b)//2]) if len(b)%2==1 else (b[len(b)//2+1]+b[len(b)//2])/2for i in range(n):for j in range(m):if i == 0 or j == 0 or i == n-1 or j == m - 1:if a[i][j] > num: sum += 1print(sum)TOJ5398: 簽到大富翁
時間限制(普通/Java):1000MS/3000MS ? ? 內存限制:65536KByte
臺州移動有一個活動叫做“簽到大富翁”,用戶簽到后可以得到“擲骰子”的機會,根據用戶擲骰子的點數,可以到達某個方格,從而獲得相應的獎勵。但有些格子可能會倒退或前進一步,最終到達了另一個格子。現在請你根據擲骰子的點數確定能獲什么獎勵。
為簡化起見,這里只需要輸出對應格子的數字即可(具體實現這個游戲時,你可以根據該數字確定獎品類型)。
輸入
輸入數據的第一行為整數n(n<=50),表示地圖中的格子數目。
第二行為n個整數,表示格子中的數字值,如果為-1,表示后退一步,如果為1表示前進一步,其他數字對應獎品或無獎品,每次擲骰子最多只能前進或倒退一次。
第三行為整數m(m<=10),表示玩家可以擲骰子的次數。
第四行為m個整數,表示玩家分別擲出的骰子點數(1~6之間)。
玩家總是從第一個格子出發,當到達終點時(擲骰子點數超出終點也將停留在終點),下一次擲骰子將重新從起點出發。
輸出
?
輸出每次擲骰子所到達格子的對應數字值,每行一個。
樣例輸入
10
0 1 2 -1 3 4 2 1 5 0
3
3 2 5
樣例輸出
2
3
0
?
思路:直接模擬就好了,注意一下,進一步和退一步,只能執行一次!
7
0 5 4 1 -1 1 0
3
5 4 3
輸出:?
0
1
0
代碼:
if __name__ == "__main__":n,str= input(),input()a = [int(i) for i in str.split()]n,str= input(),input()b = [int(i) for i in str.split()]ard ,f=0,0for i in range(len(b)):ard += b[i]if ard >= (len(a)-1): f,ard = 1,len(a)-1if a[ard] == 1:ard+=1elif a[ard] == -1:ard-=1if ard >= (len(a)-1): f,ard = 1,len(a)-1print(a[ard])if f == 1:ard,f=0,0?
轉載于:https://www.cnblogs.com/Esquecer/p/8548722.html
總結
以上是生活随笔為你收集整理的TOJ5398: 签到大富翁(简单模拟) and TOJ 5395: 大于中值的边界元素(数组的应用)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是闩锁效应?
- 下一篇: 解决NGINX PHP No input