热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【蓝桥真题】——2022年蓝桥pythonB组省赛真题+解析+代码(通俗易懂版)

蓝桥杯pythonB组2022年省

 大家好,我是爱分享的小蓝,欢迎大家来对答案~ 

全文目录

🏆混奖感言

⭐试题 A: 排列字母

 💡思路点拨

🍞代码详解  

⭐试题 B: 寻找整数

 💡思路点拨

🍞代码详解  

⭐试题 C: 纸张尺寸

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 D: 数位排序

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 E: 蜂巢

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 F: 消除游戏

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 G: 全排列的价值

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 H: 技能升级

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 I: 最长不下降子序列

🚀传送锚点

 💡思路点拨

🍞代码详解  

⭐试题 J: 最优清零方案

🚀传送锚点

 💡思路点拨

🍞代码详解  

💌考后寄语




🏆混奖感言

首先感谢关注我的小伙伴们!你们都太棒啦!小蓝为你们感到骄傲!\(@^0^@)/

嘿嘿,小蓝第一次参加,混了个省二🥈

心路过程

哇塞!看到自己的名字在获奖名单里,直接从座位上蹦起来,开心地做了10个开合跳 \ ^o^ /

心想:我的300块终于可以回来了,300块报名费没有打水漂,嘿嘿~美滋滋~ ✪ ω ✪

但仔细一算成绩,自己占总人数的12%,还差2%就能变省一,可能就差那2分···啊咧 (っ °Д °;)っ

认清现实,不能去国赛和小伙伴见面了,手里的鸡腿瞬间不香了···大脑空白ing o_o ….

痛定思痛,必须反思!刨根问底,找出原因!问自己5个why???

分析原因

为什么没得省一?因为分数低。

为啥分数低?因为题目做不出来。

为啥题目做不出来?因为考试太紧张了,大脑一片空白。

为啥考试会紧张?因为准备不充足,担心考不好。

为啥准备不充足?因为学习没有规划,学习效率太低,考试过于焦虑。

找到自身的3个原因后,那我接下来该怎么做?

解决方案

1、制定计划:考前一个月制定详细的刷题计划。(滴答清单)

2、高效刷题:高效率专注认真的刷题。(番茄钟,柳比歇夫时间管理法)

3、心理平衡:保持内心情绪的稳定平和。(轻音乐)




⭐试题 A: 排列字母


 💡思路点拨


第一题打卡题,就挺简单滴~

考python基础语法:字符串排序sorted() + 字符串连接"".join()



🍞代码详解  

#试题A:排列字母
s="WHERETHEREISAWILLTHEREISAWAY"
print("".join(sorted(s)))
#AAAEEEEEEHHHIIILLRRRSSTTWWWY
'''
样例测试1:
s="LANQIAO"
print(sorted(s))
print("".join(sorted(s)))
['A', 'A', 'I', 'L', 'N', 'O', 'Q']
AAILNOQ
样例测试2:
s="GOODGOODSTUDYDAYDAYUP"
print("".join(sorted(s)))
AADDDDDGGOOOOPSTUUYYY
'''



⭐试题 B: 寻找整数


 💡思路点拨


第二题,难度直接起飞!第一题就是个幌子,第二题开始光明正大的上难度了。

这题纯靠暴力解法,小蓝考试时不会做,直接枚举49组数据,结果一天都跑不完!

后来发现了大佬的方法,真是妙绝!下面这道题解法参考大佬思路:2022第十三届蓝桥杯PythonB组_ephemeral-fever的博客-CSDN博客

还可以找规律用最小公倍数做出来,下面参考大佬的解法:

​​​​​​第十三届蓝桥杯Python B组第二题_一天掉10根头发的博客-CSDN博客

接下来拿出新手必会的大杀器来做——暴力解法!

暴力求解谁都会,关键是什么呢?如何优化代码,能在比赛的2小时内跑完程序。

最好的方法就是找规律,发现数据之间的联系~

从枚举一个个数据:每次+1

到枚举一批批的数据:每次+38137680

速度直接起飞~

暴力三步走:

1.枚举数据找规律:取表后面5个大数判断更容易找到大数据,得到关键数据。

2.找出规律求公式:这些数字是按判断求得的,所以一定存在公式。

3.遍历公式找答案:通过公式进行快速遍历,30s轻松找到十六位数的答案。



🍞代码详解  

#1.枚举数据找规律
i=1
while True:
flag=True
if i%49!=46:
flag=False
if i%48!=41:
flag=False
if i%47!=5:
flag=False
if i%46!=15:
flag=False
if i%45!=29:
flag=False
if flag:
print(i)
i+=1
'''
4772009
42909689
81047369
119185049
157322729
···
'''

#2.找出规律求公式
a=[4772009, 42909689, 81047369, 119185049,157322729]
#发现存在等差数列
print(a[1]-a[0])#38137680
print(a[2]-a[1])#38137680
print(a[3]-a[2])#38137680
k=38137680
b=4772009
#求出公式
y=k*x+b

#3.遍历公式找答案
#题目数据
mod = [(2, 1), (14, 11), (26, 23), (38, 37),
(3, 2), (15, 14), (27, 20), (39, 23),
(4, 1), (16, 9), (28, 25), (40, 9),
(5, 4), (17, 0), (29, 16), (41, 1),
(6, 5), (18, 11), (30, 29), (42, 11),
(7, 4), (19, 18), (31, 27), (43, 11),
(8, 1), (20, 9), (32, 25), (44, 33),
(9, 2), (21, 11), (33, 11), (45, 29),
(10, 9), (22, 11), (34, 17), (46, 15),
(11, 0), (23, 15), (35, 4), (47, 5),
(12, 5), (24, 17), (36, 29), (48, 41),
(13, 10), (25, 9), (37, 22)]
#遍历公式
x=0
k=38137680
b=4772009
while True:
flag=True
y=k*x+b
for i,j in mod:
if y%i !=j:
flag=False
break
if flag==True:
print(y)#2022040920220409
break
x+=1



⭐试题 C: 纸张尺寸

🚀传送锚点


 💡思路点拨


这道题其实挺简单的,找到规律就能解!

小蓝考场上挺急的,直接就草稿纸手推10种方案,比较耗时间,不太推荐。

稍微动一下脑筋其实挺容易的,找到规律:每次折叠后,都有一条边减少了一半。

我们列出关于边的所有情况,分别是:旧长,旧宽,新长,新宽。

通过折叠几次手里的草稿纸,可以发现规律,新长=旧宽,新宽=旧长/2。

不断迭代下去,就搞定啦~



🍞代码详解  

#试题 C: 纸张尺寸
s=input() #A1
n=int(s[1]) #1
x,y=1189,841 #旧长,旧宽
for i in range(n): #0
x,y=y,x//2 #841,1189//2
print(x) #841
print(y) #594



⭐试题 D: 数位排序

🚀传送锚点


 💡思路点拨


依旧还是一道数论题,蓝桥杯从前年的暴力杯,到去年的动规杯,最后来到今年的数论杯。

不禁感慨~真是一年比一年卷呀~小蓝感觉自己就是个包心菜,虽然很卷,但还是菜(/▽\)



🍞代码详解  

#试题 D: 数位排序
n=int(input())
m=int(input())
d=dict()
for i in range(1,n+1):
d[i]=sum(list(map(int,str(i)))) #建立字典里的键值对
l=list(d.items()) #将字典的键值对转换成列表方便排序
l.sort(key=lambda x:x[1]) #按第二个参数排序
print(l[m-1][0])
'''
input:
13
5
print:
3
d字典:
d={1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7,
8: 8, 9: 9, 10: 1, 11: 2, 12: 3, 13: 4}
l排序前:
l=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7),
(8, 8), (9, 9), (10, 1), (11, 2), (12, 3), (13, 4)]
l排序后:
l=[(1, 1), (10, 1), (2, 2), (11, 2), (3, 3), (12, 3), (4, 4),
(13, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9)]
'''



⭐试题 E: 蜂巢

🚀传送锚点


 💡思路点拨


非常感谢评论区两位大佬的题解!题解非常通俗易懂!

不仅有详细的注释,而且注释详细,小伙伴点击下面链接即可传送跳转!

小明大佬的题解👇

【蓝桥系列】——十三届蓝桥杯PythonB组第五题E题蜂巢(AC代码)_普通小明的博客-CSDN博客

 小白大佬的题解👇

蓝桥杯2022年第十三届省赛真题蜂巢 python_学习中小白的博客-CSDN博客



🍞代码详解  

小明的代码

def cc(f,len): # 坐标映射|| f为方向,len为行走的距离,返回值为dx,dy的增量(微分)
if f==0:return (-len,0)
elif f==1:return (-len/2,len*e/2)
elif f==2:return (len/2,len*e/2)
elif f==3:return (len,0)
elif f==4:return (len/2,-len*e/2)
elif f==5:return (-len/2,-len*e/2)
e=3**0.5 # 存根号3
d1,p1,q1,d2,p2,q2=map(int,input().split())
a1=[[d1,p1],[(d1+2)%6,q1]] # a路径的两次方向变化
b1=[[d2,p2],[(d2+2)%6,q2]] # b路径的两次方向变化
a=[0,0] # a点映射后的坐标(x,y)
b=[0,0] # b点映射后的坐标(x,y)
for i in range(2): # 进行a路径的坐标映射
dx,dy=cc(a1[i][0],a1[i][1]*2) # 因为一格长度是2所以*2
a[0]+=dx
a[1]+=dy
for i in range(2): # 进行b路径的坐标映射
dx,dy=cc(b1[i][0],b1[i][1]*2)
b[0]+=dx
b[1]+=dy
x,y=abs(b[0]-a[0]),abs(b[1]-a[1]) # 计算a点b点的水平垂直距离
# 蓝线可根据斜率区分,蓝线上的情况两种都可以所以这里分给蓝线右下方
if abs(y/x)<&#061;e: # 蓝线右下方
len&#061;round(((x-y*e/3)&#043;(y*e*2/3))/2) # 因为有根号有精度问题需要进行四舍五入
print("%d"%len)
else: # 蓝线左上方
len&#061;round(y*e/3)
print("%d"%len)

小白的代码

def zuobiao(x, y, d, step): # 查找BC两点坐标
if d &#061;&#061; 0:
x -&#061; 2*step
return x,y
elif d &#061;&#061; 1:
x -&#061; step
y &#043;&#061; step
return x,y
elif d &#061;&#061; 2:
x &#043;&#061; step
y &#043;&#061; step
return x,y
elif d &#061;&#061; 3:
x &#043;&#061; 2*step
return x,y
elif d &#061;&#061; 4:
x &#043;&#061; step
y -&#061; step
return x,y
else:
x -&#061; step
y -&#061; step
return x,y
def f(xb,yb,xc,yc):
if abs(xb-xc) <&#061; abs(yb-yc):
return abs(yb-yc)
else:
if xb res &#061; abs(yb-yc)&#043;(xc-abs(yb-yc)-xb)//2
return res
else: # C点在左边
res &#061; abs(yc-yb)&#043;(xb-abs(yc-yb)-xc)//2
return res
if __name__&#061;&#061;"__main__":
d1,p1,q1,d2,p2,q2 &#061; map(int,input().split())
xb1, yb1 &#061; zuobiao(0,0,d1,p1)
xb, yb &#061; zuobiao(xb1, yb1, (d1&#043;2)%6, q1)
xc1, yc1 &#061; zuobiao(0,0,d2,p2)
xc, yc &#061; zuobiao(xc1, yc1, (d2&#043;2)%6, q2)
print(f(xb,yb,xc,yc))




⭐试题 F: 消除游戏

&#x1f680;传送锚点


 &#x1f4a1;思路点拨


下面依然是一道暴力枚举题&#xff0c;暴力枚举YYDS&#xff01;

一看题目就被吓到了&#xff0c;删除边缘字符&#xff0c;这么复杂&#xff0c;怎么搞呀&#xff1f;

结果一看题解&#xff0c;没想到这么简单&#xff01;

先定义个函数&#xff0c;专门用来处理题目中的字符串操作。

就照着题目给的公式写&#xff0c;没想到答案都藏在题目里 (&#043;_&#043;)?

再写个主函数&#xff0c;循环判断字符串的边缘字符是否删除完毕&#xff1f;就搞定啦~



&#x1f35e;代码详解  

#试题 F: 消除游戏
def f(s): #删除一个字符串s的所有边缘字符
d&#061;set() #集合结构确保边缘字符不重复
for i in range(1,len(s)-1):
if s[i]&#061;&#061;s[i-1] and s[i]!&#061;s[i&#043;1]:
d.add(i)
d.add(i&#043;1)
if s[i]&#061;&#061;s[i&#043;1] and s[i-1]!&#061;s[i]:
d.add(i-1)
d.add(i)
s&#061;list(s) #转化成列表方便操作
for i in d: #删除集合里的边缘字符
s[i]&#061;&#039;&#039;
return &#039;&#039;.join(s) #转换回字符串
s&#061;input()
for i in range(2**64):
temp&#061;s #temp记录一开始的字符串
s&#061;f(s) #进行一次函数运算
if s&#061;&#061;temp: #运算后和运算前字符串相同&#xff0c;说明已删除到最简形式
print(s) #直接输出结果
break #结束循环
if len(s)&#061;&#061;0:
print(&#039;EMPTY&#039;)
break
&#039;&#039;&#039;
input:
sdfhhhhcvhhxcxnnnnshh
print:
s
&#039;&#039;&#039;




⭐试题 G: 全排列的价值

&#x1f680;传送锚点


 &#x1f4a1;思路点拨


啊这好难&#xff0c;不太会呀&#xff0c;直接参考大佬题解&#x1f447;

试题G&#xff1a;全排列的价值&#xff08;第十三届蓝桥杯省赛Python B组&#xff09;_零号记事本的博客-CSDN博客



&#x1f35e;代码详解  

#试题 G: 全排列的价值
import itertools
a&#061;int(input())
b&#061;[int(s) for s in range(1,a&#043;1)]
ans&#061;0
for i in itertools.permutations(b):
for k in range(1,a):
for j in range(0,k):
if i[j] ans&#043;&#061;1
print(ans)

#试题 G: 全排列的价值
import math
n&#061;int(input())
print(sum(range(n))*math.factorial(n)//2%998244353)




⭐试题 H: 技能升级

&#x1f680;传送锚点


 &#x1f4a1;思路点拨


一直都是暴力解法q(≧▽≦q)



&#x1f35e;代码详解  

#试题 H: 技能升级
n,m&#061;map(int,input().split())
a&#061;[list(map(int,input().split())) for i in range(n)]
ans&#061;0
while m>0:
a&#061;sorted(a,key&#061;lambda x:x[0],reverse&#061;True)#每次都从大到小排序
ans&#043;&#061;a[0][0]
a[0][0]-&#061;a[0][1]
m-&#061;1
print(ans)
&#039;&#039;&#039;
input:
3 6
10 5
9 2
8 1
print:
47
demo:
[[10, 5], [9, 2], [8, 1]]
[[9, 2], [8, 1], [5, 5]]
[[8, 1], [7, 2], [5, 5]]
[[7, 1], [7, 2], [5, 5]]
[[7, 2], [6, 1], [5, 5]]
[[6, 1], [5, 2], [5, 5]]
&#039;&#039;&#039;




⭐试题 I: 最长不下降子序列

&#x1f680;传送锚点


 &#x1f4a1;思路点拨


啊这好难&#xff0c;还是做不出来&#xff0c;继续参考大佬题解&#x1f447;第十三届蓝桥杯省赛Python 组_AYO_YO的博客-CSDN博客



&#x1f35e;代码详解  

#试题 I: 最长不下降子序列
import copy
# 判断非递减
def isfdj(lst):
return lst &#061;&#061; sorted(lst)
n, k &#061; map(int, input().split())
ls &#061; list(map(int, input().split()))
l &#061; []
for i in range(1, n - k):
tmp &#061; copy.deepcopy(ls)
t &#061; ls[i - 1]
for j in range(i, i &#043; k):
tmp[j] &#061; t
ll &#061; 0 # 当前子串长度
low &#061; 0
high &#061; 1
while high if isfdj(tmp[low:high]):
ll &#043;&#061; 1
else:
l.append(ll)
ll &#061; 0
low &#061; high
high &#043;&#061; 1
l.append(ll)
print(max(l))
&#039;&#039;&#039;
input:
5 1
1 4 2 8 5
print:
4
&#039;&#039;&#039;




⭐试题 J: 最优清零方案

&#x1f680;传送锚点


 &#x1f4a1;思路点拨


第十三届蓝桥杯省赛Python 组_AYO_YO的博客-CSDN博客



&#x1f35e;代码详解  

#试题 J: 最优清零方案
n,k&#061;map(int, input().split())
a&#061;list(map(int, input().split()))
i,c&#061;0,0
while True:
r&#061;i&#043;k
if r<&#061;n:
if 0 not in a[i:r]:
a[i:r]&#061;map(lambda x: x-1, a[i:r])
c&#043;&#061;1
else:
i&#061;a[i:r].index(0)&#043;i&#043;1
else:
break
c&#043;&#061;sum(a)
print(c)
&#039;&#039;&#039;
input:
4 2
1 2 3 4
print:
6
&#039;&#039;&#039;




&#x1f48c;考后寄语

if 进国赛&#xff1a;

小伙伴可以继续刷题战斗&#xff01;

小蓝已经帮大家整理好了&#xff1a;python组之前的所有国赛真题&#x1f447;

2021年蓝桥python组国赛

2020年蓝桥python组国赛

else&#xff1a;

没进国赛的小伙伴&#xff0c;小蓝陪你们明年再战&#xff01;

下面是小蓝明年考前的复习资料&#x1f447;

备战蓝桥21篇专题系列

finally:

最后&#xff0c;成败当然重要&#xff0c;体验可能更重要。

[这是你命运里必须经历的一部分&#xff0c;接受它就好了」。

不是消极地听天由命&#xff0c;而是积极地接受现实、为所当为。


一个人身上的坚持&#xff0c;对生活热情且执着的秉性&#xff0c;

善于自我教育和不断成长的意识&#xff0c;才是最重要的。

决定你人生和命运的&#xff0c;不是你比赛拿奖与否&#xff0c;不是你目前有无找到好工作&#xff0c;

不是你有无遭遇人生低谷&#xff0c;不是你有没有选对男朋友&#xff0c;或者有无寻得好的婚姻。

是你这个人&#xff0c;你的性格&#xff0c;你的勇气和行动。                             ———— 高冷冷





备战蓝桥杯&#xff0c;我们明年见&#xff01;

来源:小蓝刷题



推荐阅读
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 题目《BZOJ2654: Tree》的时间限制为30秒,内存限制为512MB。该问题通过结合二分查找和Kruskal算法,提供了一种高效的优化解决方案。具体而言,利用二分查找缩小解的范围,再通过Kruskal算法构建最小生成树,从而在复杂度上实现了显著的优化。此方法不仅提高了算法的效率,还确保了在大规模数据集上的稳定性能。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • 分享一款基于Java开发的经典贪吃蛇游戏实现
    本文介绍了一款使用Java语言开发的经典贪吃蛇游戏的实现。游戏主要由两个核心类组成:`GameFrame` 和 `GamePanel`。`GameFrame` 类负责设置游戏窗口的标题、关闭按钮以及是否允许调整窗口大小,并初始化数据模型以支持绘制操作。`GamePanel` 类则负责管理游戏中的蛇和苹果的逻辑与渲染,确保游戏的流畅运行和良好的用户体验。 ... [详细]
  • 本文深入探讨了Java多线程环境下的同步机制及其应用,重点介绍了`synchronized`关键字的使用方法和原理。`synchronized`关键字主要用于确保多个线程在访问共享资源时的互斥性和原子性。通过具体示例,如在一个类中使用`synchronized`修饰方法,展示了如何实现线程安全的代码块。此外,文章还讨论了`ReentrantLock`等其他同步工具的优缺点,并提供了实际应用场景中的最佳实践。 ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 如何将Python与Excel高效结合:常用操作技巧解析
    本文深入探讨了如何将Python与Excel高效结合,涵盖了一系列实用的操作技巧。文章内容详尽,步骤清晰,注重细节处理,旨在帮助读者掌握Python与Excel之间的无缝对接方法,提升数据处理效率。 ... [详细]
  • Flowable 流程图路径与节点展示:已执行节点高亮红色标记,增强可视化效果
    在Flowable流程图中,通常仅显示当前节点,而路径则需自行获取。特别是在多次驳回的情况下,节点可能会出现混乱。本文重点探讨了如何准确地展示流程图效果,包括已结束的流程和正在执行的流程。具体实现方法包括生成带有高亮红色标记的图片,以增强可视化效果,确保用户能够清晰地了解每个节点的状态。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
author-avatar
baiwei001
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有