0%

3-8-2023

三月初自我反省

1.退实验室✔

2.数学第一章✔

3.单词200 per day✔

drawingdrawing

4.后端增删查改✔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def department_list(request):
member_list=Department.objects.all()
return render(request,'dep.html',{'member':member_list})

def add_dep(request):
if request.method=='GET':
return render(request,'adddep.html')
elif request.method=='POST':
title=request.POST.get('aatitle')
Department.objects.create(tittle=title)
return redirect("/dep/list")

def delete_dep(request):
memid=request.GET.get('memid')
Department.objects.filter(id=memid).delete()
return redirect("/dep/list")
def edit_dep(request,memid):
if request.method=='GET':
nnmame=Department.objects.filter(id=memid).first()
return render(request,'editdpt.html',{'nnmame':nnmame.tittle})
aatitle=request.POST.get('aatitle')
Department.objects.filter(id=memid).update(tittle=aatitle)
return redirect("/dep/list")

5.数据结构 图(floyd,dijkstra)✔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int a[101][3];
double f[101][101];
int n,i,j,k,x,y,m,s,e;
int main(){
// freopen("short.in","r",stdin);
// freopen("short.out","w",stdout);
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i][1]>>a[i][2];
cin>>m;
memset(f,0x7f,sizeof(f)); //初始化为最大值
for(i=1;i<=m;i++){
cin>>x>>y;
// int temp1=;
// int temp2=;
f[y][x]=f[x][y]=sqrt(pow(double(a[x][1]-a[y][1]),2)+pow(double(a[x][2]-a[y][2]),2));
}
cin>>s>>e;
for(k=1;k<=n;k++)
for(j=1;j<=n;j++)
for(i=1;i<=n;i++)
if(f[i][k]+f[k][j]<f[i][j])
f[i][j]=f[i][k]+f[k][j];
printf("%.2lf\n",f[s][e]);
return 0;

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<cstdio>
#include<cstring>
#define INF 1e4+10
using namespace std;
const int M=1e4+10;
const int N=1000+10;
int n,m,s;
int mp[N][M];
int dis[N],vis[N];

void initmp(){
memset(mp,INF,sizeof(mp));
}
void dijkstra(int s){ //求s点到其它点的最短路径
memset(vis,0,sizeof(vis));//0表示蓝点(未确定最短路径的点),1表示白点(确定路径的点)
memset(dis,0x3f,sizeof(dis));//默认情况下设置为无穷大
dis[s]=0;
while(1){
int mini=0,min_=INF;
for(int j=1;j<=n;j++){
if(!vis[j]&&min_>dis[j]){//从蓝点中找出最小的点 .vis[j](蓝点)为0,那么!vis[j]就为1了.dis[j]是权值
mini=j;//记录第几个点
min_=dis[j]; //记录最短的路的距离
}
}
//如果没有蓝点就提前结束
if(mini==0) break;
vis[mini]=1;//变成白点
for(int i=1;i<=n;i++){
if(dis[i]>dis[mini]+mp[mini][i])
dis[i]=dis[mini]+mp[mini][i];
}
}
}
int main(){
memset(mp,INF,sizeof(mp));
while(scanf("%d %d",&n,&m)!=EOF&&n){
initmp();//每次清空mp
for(int i=0;i<m;i++){
int u,v,w;
scanf("%d %d %d",&u,&v,&w);
if(mp[u][v]>w)
mp[u][v]=mp[v][u]=w;
}
dijkstra(1);
printf("%d\n",dis[n]);
}
return 0;
}
-------------本文结束感谢您的阅读-------------
老板你好,讨口饭吃