![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT
小裴(碎碎念版)
21世纪了谁不在做梦,
谁不在冥想,谁不在过冬。
展开
-
【PAT】python 1007 Maximum Subsequence Sum
【PAT】1007 Maximum Subsequence Sum原创 2022-08-20 21:01:37 · 211 阅读 · 0 评论 -
PAT (Advanced Level) Practice 【python】
PTA算法记录原创 2022-07-04 21:31:16 · 245 阅读 · 0 评论 -
【天梯】总结
!!!一定要养成良好的代码习惯!!变量值不能混用!!代码不能找不到原创 2022-04-23 09:26:39 · 233 阅读 · 0 评论 -
【天梯】python L2-023 图着色问题 (25 point(s))
from collections import defaultdictv,e,k=map(int,input().split())s=defaultdict(set)for i in range(e): a,b=map(int,input().split()) s[a].add(b) s[b].add(a)n=int(input())c=defaultdict(set)for i in range(n): flag=0 color=list(map(in.原创 2022-04-23 08:49:12 · 642 阅读 · 0 评论 -
【天梯】python L2-010 排座位 (25 point(s))
from collections import defaultdictn,m,k=map(int,input().split())friend=defaultdict(set)dui=defaultdict(set)for i in range(m): a,b,c=map(int,input().split()) if c==1: friend[a].add(b) friend[b].add(a) else: dui[a].a.原创 2022-04-22 14:37:35 · 1064 阅读 · 0 评论 -
【天梯】python L2-006 树的遍历 (25 point(s))
树class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = rightn=int(input())host=list(map(int,input().split()))inorder=list(map(int,input().split()))def buildTree(in原创 2022-04-21 00:33:52 · 805 阅读 · 0 评论 -
【天梯】python L2-022 重排链表 (25 point(s))
代码先放着有时间再改测试点1和4过不了a,b=map(str,input().split())node={}n=int(b)for i in range(n): c,d,e=map(str,input().split()) node[c]=(d,e)lis=[]n=0while(a!='-1'): lis.append(a) a=node[a][1] n+=1res=[]if n==2: print('%s %s %s'%(lis[1],原创 2022-04-21 00:22:29 · 481 阅读 · 0 评论 -
【天梯】python L2-021 点赞狂魔 (25 point(s))
这道题看题目看了很久,没太读懂“如果有并列,则输出标签出现次数平均值最小的那个”这句话的意思。代例子想了想发现就是标签出现次数平均值最小就是总次数除以不同的标签个数TT代码如下:n=int(input())nam={}for i in range(n): s=list(map(str,input().split())) nam[s[0]]=(len(set(s[2:])),int(s[1])/len(set(s[2:])))lis=sorted(nam.items(),key=l原创 2022-04-20 23:38:01 · 424 阅读 · 0 评论 -
【天梯】python L1-025 正整数A+B (15 point(s)) 简洁
看题!看题!看题!最开始测试点5和测试点6过不去仔细看了一遍题发现就算是正整数但超出范围了依然不算加了限制条件后过了a,b=map(str,input().split(' ',1))if a.isdigit() and b.isdigit() and int(a)>=1 and int(b)>=1 and int(a)<=1000 and int(b)<=1000: print("%s + %s = %d"%(a,b,int(a)+int(b)))elif a.原创 2022-04-20 09:42:49 · 233 阅读 · 0 评论 -
【天梯】python L1-020 帅到没朋友 (20 point(s))
注意:朋友圈只有一个人的算没朋友朋友圈出现其他人的都算有朋友n=int(input())res=[]s={}for i in range(n): lis=list(map(str,input().split())) m=int(lis[0]) if m==1: continue for i in range(m): s[lis[i+1]]=s.get(lis[i+1],0)+1mb=int(input())li=list(map原创 2022-04-20 09:10:05 · 419 阅读 · 0 评论 -
【天梯】python L2-003 月饼 (25 point(s))
改了好久还是第三个测试点过不去没想明白有大佬知道了可以告诉我嘛我太菜了n,d=map(float,input().split())n=int(n)store=list(map(float,input().split()))sell=list(map(float,input().split()))s={}i=0for k in range(n): if store[i]==0: m=store.pop(i) n=sell.pop(i) .原创 2022-04-16 10:42:30 · 632 阅读 · 1 评论 -
【天梯】python L2-026 小字辈 (25 point(s))
有没有1、2、6的测试数据呀TTfrom collections import defaultdicts= defaultdict(list)n=int(input())x=list(map(int,input().split()))for i,j in enumerate(x): s[str(j)].append(i+1)cn=[0 for i in range(1+n)]k='-1'def bfs(k): if k not in s: return.原创 2022-04-15 09:20:37 · 398 阅读 · 0 评论 -
【天梯】python L2-031 深入虎穴 (25 point(s))
划重点007 发现不存在两条路通向同一扇门。最后一个超时了 暂时没想到该如何优化 如果有uu会了欢迎指教参考博文n=int(input())pre=[0 for i in range(n+1)]res=[]for i in range(1,1+n): tep=list(map(int,input().split())) if tep[0]==0: res.append(i) continue else: for j i.原创 2022-04-14 11:11:00 · 851 阅读 · 5 评论 -
【天梯】python L2-001 城市间紧急救援 (25 point(s))
L2-001 城市间紧急救援 (25 point(s))1.最短路径2.最短路径条数3.最大资源原创 2022-04-13 09:28:00 · 1549 阅读 · 1 评论 -
【PAT】1008 数组元素循环右移问题 (20 point(s))
思路:不移动数组元素位置,改变输出先后顺序。因为最后一个输出后面无空格,所以分为三种情况讨论,分开确定最后一个元素。1.移动后不变2.只往右移动一个位置3.移动很多,分为前后两部分n,m=map(int,input().split())lis=list(map(int,input().split()))res=[(i+m)%n for i in range(n)]ind=res.index(0)print(ind)if ind==0: for i in lis[ind:-1]:原创 2022-03-24 18:53:22 · 258 阅读 · 0 评论 -
【PAT】1006 换个格式输出整数 (15 point(s))
写的时候最开始写的是x>10,结果有两个测试数据没通过,要注意这个循环是取得各个位置上的值。要注意细节!!x=int(input())s={}i=0while(x>=10): //注意这里是大于等于 s[i]=x%10 x=x//10 i+=1s[i]=xre=""if i==2: re=re+'B'*s[i] i=i-1if i==1: re=re+'S'*s[i] i=i-1for i in range(1,s[原创 2022-03-24 16:44:06 · 59 阅读 · 0 评论 -
【PAT】python 1005 继续(3n+1)猜想 (25 point(s))
最开始用列表超时了,然后想着用集合,最后改成了哈希表。用s存储所有过程中验证过的数,最后判断所给的数是否在s里,如果不在则符合要求。代码如下:n=int(input())num=list(map(int,input().split()))s={}for i in num: while(i!=1): if(i%2==1): i=3*i+1 i=i/2 if i in s: break原创 2022-03-24 16:16:55 · 1158 阅读 · 0 评论 -
【PAT】python 1003 我要通过 (20 point(s))
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者是仅由字母 A 组成的原创 2022-03-23 21:07:59 · 66 阅读 · 0 评论 -
【PAT】pythonL1-006 连续因子 (20 point(s))
import mathnum=int(input())num1=int(math.sqrt(num))lis=[0 for k in range(num1)]for i in range(2,num1): if num%i!=0: continue else: a=num/i lenth=1 j=i+1 while(j<num1 and num>1): if(a%j.原创 2022-03-21 16:16:05 · 651 阅读 · 1 评论