PAT乙级
会飞的小精灵
这个作者很懒,什么都没留下…
展开
-
1049.数列的片段和
number=int(input())list=[float(n) for n in input().split()]sum=0count_1=numbercount_2=1length=len(list)for i in range(length): sum+=list[i]*count_1*count_2 count_1-=1 count_2+=1pr...转载 2018-06-26 14:57:25 · 214 阅读 · 0 评论 -
1040.有几个PAT
x=input()sum=0sumT=0for i in x: if i=="T": sumT+=1d={"P":0,"T":0}for i in range(len(x)): if x[i]=="P": d["P"]+=1 elif x[i]=="T": d["T"]+=1原创 2018-07-02 20:50:00 · 140 阅读 · 0 评论 -
1030 完美数列(python)
N,p=[int(i) for i in input().split()]A=sorted([int(i) for i in input().split()])maxlen=0for i in range(N): #一层循环 for j in range(i+maxlen,N): #二层循环开始,但是要进行跨越 ...原创 2018-07-23 15:27:54 · 362 阅读 · 0 评论 -
1026 程序运行时间
a, b =input().split()t = (int(b) - int(a) + 50) / 100print('%02d:%02d:%02d' % (t / 3600, t % 3600 / 60, t % 60))这道题本身并不难,坑就坑在python3 对round函数的改造上现在的round函数是奇进,偶不进因此多加50,使用int来化解这种尴尬的局部 后面...原创 2018-07-23 16:32:58 · 279 阅读 · 0 评论 -
PAT乙级(Basic Level)练习题 有假币 牛客网
先枚举一些例子,找出其中规律:对于 1个硬币,称量 0次对于 2个硬币,称量 1次对于 3个硬币,称量 1次对于 4个硬币,称量 2次,先分成(2,2,0),第一次称量前两份(2,2),如果重量不一样,再次求出判断另外2个硬币需要称量的次数。对于 5个硬币,称量 2次,先分成(2,2,1),第一次称量前两份(2,2),如果重量不一样,再次判断另外1个硬币需要称量的次数。对于 6个硬币,...转载 2018-08-11 21:02:44 · 287 阅读 · 0 评论 -
1007. 素数对猜想 解决python超时问题
此题如果采用素数的定义来判别,将会超时,因此采用素数筛选法核心思想:素数的倍数一定不是素数 偶数一定不是素数从2开始依次往后面数,如果当前数字一个素数,那么就将所有其倍数的数从表中删除或者标记,然后最终得到所有的素数。详细的解释可以看一下这位大大的博文https://blog.csdn.net/power721/article/details/8216619本文主要采用一种写法...原创 2018-08-08 10:59:04 · 684 阅读 · 0 评论 -
python解决 PAT 1089 狼人杀-简单版(20 分)
n=int(input())A=[0]*(n+1)for i in range(1,n+1): A[i]=int(input())sw=bw=0for i in range(1,n): #遍历认定两个人做狼 for j in range(i+1,n+1): lieh=liew=0 for k in range(1...原创 2018-09-13 22:37:06 · 1372 阅读 · 0 评论 -
python解决 1090 危险品装箱
N,M=[int(i) for i in input().split()]d={}for _ in range(N): a,b=input().split() d[a]=d.get(a,[])+[b] #构造键和值相互索引的字典 d[b]=d.get(b,[])+[a]for _ in range(M): A=input().split()[1:]...原创 2018-09-14 13:45:20 · 1236 阅读 · 0 评论