PTA
PTA
HelloWorld. py
后端敲门人
展开
-
最大分组位置
题目描述在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 s = "abbxxxxzyy"中,就含有 "a", "bb", "xxxx", "z" 和 "yy" 这样的一些分组。分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下标。上例中的 "xxxx" 分组用区间表示为 [3,6] 。我们称所有包含大于或等于三个连续字符的分组为 较大分组 。找到每一个 较大分组 的区间,按起始位置.原创 2021-01-05 10:26:38 · 210 阅读 · 0 评论 -
1049 数列的片段和 (20分)
N = int(input())nums = list(map(float, input().split()))Sum = 0for i, element in enumerate(nums): Sum += element * (N - i) * (i + 1)print('%.2f' % Sum)原创 2020-02-25 20:57:40 · 235 阅读 · 0 评论 -
1048 数字加密 (20分)
这个题又又又有坑。。。当B的长度小于A的时候,B缺的位上补0与A继续运算。。。。str_1, str_2 = input()[:: -1].split()N = []num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'J', 'Q', 'K']length = len(str_1)length_1 = len(str_2)if length < len...原创 2020-02-24 21:18:53 · 258 阅读 · 0 评论 -
1047 编程团体赛 (20分)
N = int(input())teams = {}for i in range(0, N): team, score = input().split() team = team.split('-')[0] try: teams[team] += int(score) except: teams[team] = int(scor...原创 2020-02-23 20:47:34 · 344 阅读 · 0 评论 -
1046 划拳 (15分)
N = int(input())yi_drink = jia_drink = 0for i in range(0, N): jia_shout, jia_do, yi_shout, yi_do = map(int, input().split()) Sum = jia_shout + yi_shout if jia_do == yi_do: conti...原创 2020-02-23 20:46:58 · 317 阅读 · 0 评论 -
1044 火星数字 (20分)
这个题有坑。。。1. 当输入26 时输出的是hel, 输入156输出的是jou2. hel, jou不是实际意义上的进位,它们本身也对应一个十进制的数。N = int(input())Singles = ['tret', 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jly', 'aug', 'sep', 'oct', 'nov', 'de...原创 2020-02-22 21:12:44 · 271 阅读 · 0 评论 -
1043 输出PATest (20分)
str_0 = input()P = str_0.count('P')A = str_0.count('A')T = str_0.count('T')e = str_0.count('e')s = str_0.count('s')t = str_0.count('t')while P | A | T | e | s | t: if P != 0: print...原创 2020-02-22 21:06:52 · 320 阅读 · 0 评论 -
1042 字符统计 (20分)
str_0 = input().lower()Time = {}for i in set(str_0): if 97 <= ord(i) <= 122: Time[i] = str_0.count(i)Max = 0Max_a = chr(0)for key, value in Time.items(): if value > Max:...原创 2020-02-21 17:54:27 · 261 阅读 · 0 评论 -
1041 考试座位号 (15分)
N = int(input())students = {}for i in range(0, N): num, s_1, s_2 = input().split() students[s_1] = num + s_2M = int(input())m_list = list(input().split())for i in m_list: print(stude...原创 2020-02-21 17:53:37 · 281 阅读 · 0 评论 -
python3 PTA1040 有几个PAT (3号测试点超时)(21/25分)
str_0 = input()N = 0while 1: p = str_0.find('P') if p == -1: break P_num = 1 while p < len(str_0) -1 and str_0[p+1] == 'P': p += 1 P_num += 1 T = str_...原创 2020-02-20 20:58:01 · 454 阅读 · 0 评论 -
python3 PTA乙1039 到底买不买 (20分)
str_1 = list(input())str_2 = list(input())lack = 0lack_list = []for i in str_2: if i in lack_list: lack += 1 continue for j in str_1: if i == j: str_1....原创 2020-02-14 10:39:41 · 325 阅读 · 0 评论 -
PTA1036 跟奥巴马一起编程 (15分)
n, c = input().split()n = int(n)print('%s'%c * n)if n % 2 == 0: for i in range(1, int(n/2 - 1)): print('%s'%c + ' '* (n - 2) + '%s'%c)else: for i in range(1, int(n/2)): pr...原创 2020-01-09 09:21:48 · 309 阅读 · 0 评论 -
PTA1035 插入与归并 (25分)(第二个测试点未通过)
代码结构,调试的心力交瘁。第二个测试点还是无法通过,主要问题是在插入排序上。例如当输入 3 1 3 2 1 3 2 时,这里存在歧义。但是很明显题目将它判定为第二次遇到 1 3 2,所以此时要输出 1 2 3,而不是 1 3 2。N = input()s1 = input()s2 = input()s3 = s2num = []num = list(s1....原创 2020-01-08 21:11:26 · 688 阅读 · 1 评论 -
Python3PTA乙1034有理数四则运算 (完美通过版)
注意事项:减法运算中 ,为了避免分母前出现负号的情况,在处理时,将所有负数按其绝对值处理。最后再添负号 除法运算中,0 / 0输出结果是 Inf。逻辑判断时 0 / 0容易出现bug 在判断正负的时候,别用两个数乘积来判断。因为如果这两个数过大容易出现结果溢出情况# coding:utf-8def Num(s): N, k, F = 0, 0, 0 if s[...原创 2019-12-28 21:27:19 · 675 阅读 · 0 评论 -
python3PTA乙1033 旧键盘打字
bad = input()data = input()bad_num = [0 for i in range(10)]bad_letter = [0 for i in range(26)]bad_big = 0bad_symbol = []for item in bad: if ord(item) >= 48 and ord(item) <= 57: ...原创 2019-12-26 21:09:26 · 347 阅读 · 0 评论 -
Python3 PTA乙1032挖掘机技术哪家强 (最后一个测试点超时)
N = int(input())list_data = []for i in range(N): dic = {} num, score = input().split() for item in list_data: if num == item["num"]: item["score"] += int(score) break else: dic['num']...原创 2019-12-25 20:54:17 · 633 阅读 · 0 评论 -
Python3 PTA乙1031查验身份证
m = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']q = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]n = int(input())num = 0for i in range(n): N = input() sum_N = 0 F = 0 for i in range(0, 1...原创 2019-12-25 20:25:15 · 489 阅读 · 0 评论 -
PTA乙1026(python3)
def string(s): t = str(s) if s <= 9: t = '0' + str(s) return tc1, c2 = map(int, input().split())T = (c2 - c1)/100if (T - int(T)) - 0.5 >= 0: T = int(T) + 1else: T...原创 2019-05-06 21:28:39 · 431 阅读 · 0 评论 -
(Python3)PTA乙1030完美数列(测试点4超时)
N, p = map(int, input().split())Nums = list(map(int, input().split()))Nums = sorted(Nums)if p == 0: print(0)else: length, f = 0, 0 for i in range(N): for j in range(i + length...原创 2019-05-09 20:47:18 · 952 阅读 · 0 评论 -
PTA乙1027打印沙漏(Python3)
n, s = input().split()n = int(n)f, i = 1, 1str_ = [s]while True: now = i * 2 + 1 f = f + now *2 if f > n: break else: str_.insert(0, now*s) str_.insert(i...原创 2019-05-07 13:08:21 · 799 阅读 · 0 评论 -
(Python3)PTA乙1028人口普查(最后一个测试点超时)
n = int(input())Max = '1814/09/06'Min = '2014/09/06'max_, min_, num = '2014/09/06', '1814/09/06', 0max_name, min_name = '', ''for i in range(n): name, date = input().split() if date >=...原创 2019-05-07 21:59:47 · 1488 阅读 · 2 评论 -
1006
1006换个格式输出整数(15分)让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输...原创 2019-03-26 17:25:09 · 354 阅读 · 0 评论 -
(Python3)PTA乙1025反转列表(存在超时和非0返回)
给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数 N (≤105 )、以及...原创 2019-05-05 23:30:59 · 778 阅读 · 2 评论 -
(Python3)PTA乙1029旧键盘
def find_lack(inital_str, actual_str): i = 0 lack = [] for s in inital_str: if s == actual_str[i]: if i == len(actual_str) - 1: i = i else:...原创 2019-05-08 12:57:12 · 389 阅读 · 0 评论 -
(Python3)PTA乙级24
Num, num = input().split('E')n = int(num[1 : ])T = Num[1] + Num[3 : ]if n == 0: if Num[0] == '-': print('-' + T[0] + '.' + T[1 : ] ) exit(0) print(T[0] + '.' + T[1 : ])else...原创 2019-05-03 00:33:00 · 318 阅读 · 0 评论 -
1012
nums = []sum_0 = 0sum_1 = 0sum_3 = 0max_4 = 0i = 1j = 0k = 0m = 0nums[ : ] = map(int ,input().split())nums = nums[1 : ]for num in nums: if num % 10 == 0: sum_0 = sum_0 + num ...原创 2019-04-05 16:12:09 · 288 阅读 · 0 评论 -
1011
n = int(input())i = 1while i <= n: a, b, c = map(int, input().split()) print('Case ' +'#', end = '') print(i, end = '') if a + b > c: print(': true') else: ...原创 2019-04-05 16:11:26 · 255 阅读 · 0 评论 -
1010
nums = []nums[ : ] = input().split()i = 1while i <= len(nums) - 3: a = int(nums[i - 1]) x = int(nums[i]) if x != 0 and x != 1: print(a * x, x - 1, end = ' ') if x == 1:...原创 2019-04-05 16:10:45 · 288 阅读 · 0 评论 -
1009
strings = []strings[ : ] = input().split()strings.reverse()i = 0while i < len(strings): if i == len(strings) - 1: print(strings[i]) else: print(strings[i], end = ' ') ...原创 2019-04-05 16:10:02 · 287 阅读 · 0 评论 -
1008
n, i = map(int, input().split())nums = []nums[:] = input().split()nums = nums [ : n]nums.reverse()nums[0 : i] = nums[i-1 : : -1]nums[i : n] = nums[n-1 : i-1 : -1]i = 0while i < len(nums):...原创 2019-04-05 16:08:28 · 409 阅读 · 0 评论 -
1003
n = input()n = int(n)while n > 0: n -= 1 string = input() i = 0 p_len = 0 t_len = 0 a_len = 0 flag = 1 flag_1 = 1 while i < len(string): s = string[...原创 2019-03-26 15:27:51 · 341 阅读 · 0 评论 -
1002
ns = input()s = 0for n in ns: n = int(n) s += ns = str(s)t = []for a in s: a = int(a) t.append(a)i = 0pinyin = ['ling', 'yi', 'er', 'san', 'si', 'wu', 'liu', 'qi', 'ba', 'jiu']fo...原创 2019-03-26 15:27:20 · 376 阅读 · 0 评论 -
1001
num = input()num = int(num)i = 0;while num != 1: i += 1 if num % 2 == 1: num = (num * 3 + 1) / 2 else: num = num / 2print(i)原创 2019-03-26 15:26:31 · 352 阅读 · 0 评论 -
1005
n = int(input())numbers = []numbers_print = []numbers_input = []numbers_input[:] = input().split()numbers_input = numbers_input[: n]i = 0for num in numbers_input: num = int(num) while n...原创 2019-03-26 15:24:31 · 469 阅读 · 0 评论 -
1013
import mathm, n = map(int, input().split())i = 0j = 0for num in range(2, 99999): flag = True for a in range(2, int(math.sqrt(num))+1): if num % a == 0: flag = False ...原创 2019-04-05 16:12:46 · 268 阅读 · 0 评论 -
1014
day = {'A': 'MON', 'B': 'TUE', 'C': 'WED', 'D': 'THU', 'E': 'FRI', 'F': 'SAT', 'G': 'SUN'}hour = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, 'A': ...原创 2019-04-05 16:13:29 · 450 阅读 · 0 评论 -
PTA乙1023
A = list(map(int, input().split()))n = A[0]s = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']t = ''for i in range(10): t = t + A[i] * s[i]A = list(map(int, t))B = []z = []z = A[0 : n]...原创 2019-04-16 22:03:53 · 289 阅读 · 0 评论 -
1019 完美通过版
def insert_0(s): if len(s) == 3: s.insert(0, 0) if len(s) == 2: s.insert(0, 0) s.insert(1, 0) if len(s) == 1: s.insert(0, 0) s.insert(1, 0) ...原创 2019-04-13 10:28:20 · 314 阅读 · 0 评论 -
1020(超时)
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 1...原创 2019-04-09 20:14:27 · 435 阅读 · 0 评论 -
1019(有三个测试点错误)
def max_num(num): for y in range(1, len(num)): for i in range(0, len(num)-y): if num[i] < num[i+1]: num[i] = num[i] + num[i+1] num[i+1] = num...原创 2019-04-06 22:39:03 · 737 阅读 · 0 评论