PAT basic1016-1020(Python版)
2014-11-09 14:55
323 查看
Python2环境:
1016:
1017:
1018:
也有个case超时,数据量太大就超时。。
1019:
1020:
1016:
from sys import exit str = raw_input().split() sum = 0 if str[0].count(str[1]) != 0: sum += int(str[0].count(str[1]) * str[1]) if str[2].count(str[3]) != 0: sum += int(str[2].count(str[3]) * str[3]) print sum exit(0)
1017:
from sys import exit str = raw_input().split() a = str[0] b = int(str[1]) add = 0 shang = '' for i in a: shang += '%d' % ( (int(i)+add*10) / b ) add = (int(i)+add*10) % b shang = shang.lstrip('0') if shang == '': shang = '0' print shang, add exit(0)
1018:
from sys import exit def output_popular( dict ): popular = '' num = 0 for i in dict.keys(): if popular == '' or dict[i] > num or (dict[i] == num and i < popular): popular = i num = dict[i] return popular dict_pri_jia = {'B C':0, 'B B':1, 'B J':2, 'C B':2, 'C C':1, 'C J':0, 'J B':0, 'J J':1, 'J C':2} jia = [0, 0, 0, {'B':0, 'C':0, 'J':0}] yi = [0, 0, 0, {'B':0, 'C':0, 'J':0}] num = input() for i in range(num): str = raw_input() jia[dict_pri_jia[str]] += 1 yi[2-dict_pri_jia[str]] += 1 if dict_pri_jia[str] == 0: jia[3][str[0]] += 1 if dict_pri_jia[str] == 2: yi[3][str[2]] += 1 print jia[0], jia[1], jia[2] print yi[0], yi[1], yi[2] print output_popular(jia[3]), output_popular(yi[3]) exit(0)
也有个case超时,数据量太大就超时。。
1019:
from sys import exit str = raw_input() str = (4-len(str))*'0' + str strList = sorted(str) while strList.count(str[0]) != 4: strList = sorted(str) small = '' big = '' res = '' for i in range(4): small += strList[i] strList.reverse() for i in range(4): big += strList[i] str = '%04d' % (int(big)-int(small)) print '%s - %s = %s' % (big, small, str) if str == '6174': break if strList.count(str[0]) == 4: print '%s - %s = 0000' % (str, str) exit(0)
1020:
from sys import exit str = raw_input().split() mkNum = int(str[0]) total = int(str[1]) para = [] para.append(raw_input().split()) para.append(raw_input().split()) for i in range(mkNum): para[0][i] = float(para[0][i]) para[1][i] = float(para[1][i]) dict = {} for i in range(mkNum): if (float(para[1][i]) / para[0][i]) in dict.keys(): dict[float(para[1][i]) / para[0][i]][0] += para[1][i] dict[float(para[1][i]) / para[0][i]][1] += para[0][i] else: dict[float(para[1][i]) / para[0][i]] = [para[1][i], para[0][i]] mkeys = dict.keys() mkeys.sort() mkeys.reverse() value = 0.0 for i in mkeys: if total > dict[i][1]: value += dict[i][0] total -= dict[i][1] else: value += float(dict[i][0]) / dict[i][1] * total break print '%.2f' % value exit(0)
相关文章推荐
- PAT (Basic) 1016~1020
- 【C++】浙大PAT (Basic Level)1016. 部分A+B (15)
- Pat(Basic Level)Practice--1020(月饼)
- pat 1070 (同basic level 1020)
- PAT (Basic Level) Practise:1016. 部分A+B
- PAT (Basic Level) Practise (中文)1020. 月饼 (25) C语言
- pat basic level 1016
- PAT_Basic 1016
- PAT basic1001-1005(Python版)
- PAT basic 1027(Python版)
- PAT (Basic Level) Practise (中文)1020. 月饼 (25)
- pat basic level 1016 A/B
- 浙大 pat Basic Level 1020
- 浙大 pat Basic Level 1016
- PAT basic1021-1025(Python版)
- PAT1016 BASIC:部分A+B (15)
- Pat(Basic Level)Practice--1016(部分A+B)
- PAT basic 1016 :部分A+B
- PAT Basic Level 1020. 月饼(25)
- PATBasic——1016. 部分A+B (15)