網站首頁 編程語言 正文
算法與數據結構實驗題-朋友圈
實驗任務
朋友圈是由若干個人組成的集體,已知現在有n個人(1到n),然后給你m個關系x y,表示x和y是朋友,假設朋友的朋友也是朋友,求這n個人中最大的朋友圈人數。
數據輸入
輸入第一行為一個正整數n,m。
接下來有m行,每行有兩個正整數 x 和 y ,表示 x 和 y 是朋友
60%的數據 1<=n,m<=100.
100%的數據1<=n<=100000.
數據輸出
輸出n個人中最大的朋友圈人數。
輸入示例
3 2
1 2
2 3
輸出示例
3
代碼實現
rel=int (input().split()[1])
my_list=[]
ne=0
while rel:
rel-=1
flag=0
my_set=set()
my_cont=[int (n) for n in input().split()]
for n in range(len(my_list)):
if my_cont[0] in my_list[n]:
my_list[n].add(my_cont[1])
flag=1
ne=n
continue
if (my_cont[1] in my_list[n]) and flag==0:
my_list[n].add(my_cont[0])
flag = 1
break
elif (my_cont[1] in my_list[n]) and flag==1:
my_list[n]=my_list[n].union(my_list[ne])
my_list.remove(my_list[ne])
if flag==0:
my_set.add(my_cont[0])
my_set.add(my_cont[1])
my_list.append(my_set)
ans=0
for n in my_list:
ans=max(ans,len(n))
print(ans)
tips:union返回一個新的集合,需要賦值
效果展示
算法與數據結構實驗題-水杯
實驗任務
有n個水杯疊放在一起
從上到下,編號由1開始一直到n,容量ai不一定滿足也依次增大的關系,如果i號杯子存的水超過了它的容量,則會像i+1號水杯流,以此類推
現在給你兩個操作
操作一: 1 x y 給x號杯子加y容量的水
操作二: 2 x 查詢x杯子里有多少水。
數據輸入
輸入第一行為一個正整數n
接下來n個元素,表示第i個水杯的容量
接著輸入操作的個數q
接下來q行操作。
60%的數據 1<=n<=100,1<=q<=100,1<=ai,y<=100.
100%的數據1<=n<=100000,1<=q<=100000,1<=ai,y<=1000000000.
數據輸出
對于每個操作二,輸出對應的值。
輸入示例
2
5 10
6
1 1 4
2 1
1 2 5
1 1 4
2 1
2 2
輸出示例
4
5
8
代碼實現
def action(x,n):
while n>0 and x<=num:
if my_cup[x]>=n:
my_cup[x]-=n
n=0
else:
n-=my_cup[x]
my_cup[x] = 0
x+=1
num=int (input())
my_cup=[int (n) for n in input().split()]
old=my_cup.copy()
act=int (input())
while act:
act-=1
cont=[int (n) for n in input().split()]
if cont[0]==1:
action(cont[1]-1,cont[2])
if cont[0]==2:
print(old[cont[1]-1]-my_cup[cont[1]-1])
注釋:這里的old列表需要用到copy函數進行淺拷貝操作(沒有出現嵌套所以不同考慮深拷貝),若是直接賦值則會導致my_cup改變時old也跟著改變。本代碼輸出為實時輸出
效果展示
原文鏈接:https://blog.csdn.net/qq_63701832/article/details/127926479
相關推薦
- 2022-09-14 Python安裝xarray庫讀取.nc文件的詳細步驟_python
- 2022-04-11 圖文詳解C#中的協變與逆變_C#教程
- 2022-10-27 C#利用Spire.Pdf包實現為PDF添加數字簽名_C#教程
- 2022-08-14 git?stash(儲藏)的用法總結_相關技巧
- 2023-01-12 Kotlin?Option與Either及Result實現異常處理詳解_Android
- 2022-04-08 WPF中Style樣式及其觸發器_基礎應用
- 2023-03-17 pandas歸一化與反歸一化操作實現_python
- 2022-04-12 .NET 6 ‘Unable to configure HTTPS endpoint...
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支