当前位置: 首页 > news >正文

考前刷题练手感(北航期末往年数据结构编程题)

本次因为是考前一天极速刷题,所以没有讲解,若有问题可私信。

目录

  • 一、 查找同时空人员
  • 二、 老鼠回家-无回路
  • 三、函数调⽤关系
  • 四、东二食堂模拟
  • 五、栈帧

一、 查找同时空人员

【问题描述】

假设一共有6个手机基站,都具有记录手机连接基站状态的能力,当手机进入和离开基站固定范围后,基站将及时记录手机的连接信息:

1、约定基站覆盖范围不存在重合,也就是同一个手机在同一时间内只会处于一个基站覆盖范围内;

2、同一个手机在同一个基站上多次连续登录,属于正常情况,说明该手机不断出入该基站的覆盖范围。

编写程序,读入某一天多个基站的手机登录日志信息(服务商提供的日志信息是按手机进入基站的时间排好序,详见样例输入)和一个要查找的人员手机号,查找与该人员同时空人员的手机号(即与该手机号基站相同且进入与离开时间有重叠的手机号;若一手机号的进入时间与另一手机号的离开时间完全相同,两手机号也算有重叠。)。输出与指定手机号有时空重叠的手机号及所在基站。

基站的手机登录日志信息包括:手机号(11位的数字,按字符串处理)、基站编号(一共为6个基站,分别用大写字母A、B、C、D、E、F表示)、登录时间和登出时间(用长度为6的数字串表示,例如:093756,表示9点37分56秒)。

【输入形式】

先输入手机登录日志信息的条数(小于1000条),然后按上述格式分行输入手机登录日志信息,手机号、基站编号、登录时间和登出时间之间以一个空格分隔。

【输出形式】

按照手机号由小至大进行排序,分行输出与指定手机号有时空重叠的手机号及所在基站编号,手机号与基站编号之间以一个空格分隔。手机号相同时按基站字母序排序输出。

【样例输入】

28

18222336979 F 060201 063539

18222336979 B 063601 063802

18222336979 C 063806 064607

18222336979 D 064615 065816

18222336979 A 065827 160003

18222336979 D 160013 161605

18222336979 C 161617 162633

18222336979 B 162702 172333

13810013509 C 080005 092537

13810013509 A 100356 124732

13810013509 C 125021 161619

13810013509 F 162315 163857

13810013509 B 163901 205602

13810013509 C 210509 230108

13810013509 D 230901 232556

13557912211 B 060615 080239

13557912211 E 120507 150309

13557912211 C 162633 163621

13557912211 B 163855 172209

13557912211 D 200609 230901

13985992766 A 070000 120203

13985992766 F 130506 160000

13985992766 B 160102 161503

13985992766 C 161617 163058

13985992766 E 163302 180709

13985992766 D 190005 200729

15857596331 D 000201 235051

13877882206 C 003123 220806

13557912211

【样例输出】

13810013509 B

13810013509 D

13877882206 C

13985992766 C

13985992766 D

15857596331 D

18222336979 B

18222336979 C

【样例说明】

先 输入了28条手机登录基站的日志信息,然后输入手机号13557912211,表示要查找与该手机号同时空的手机号。该手机号首先在6点6分15秒登录B 基站,在8点2分39秒登出B基站,在这个时间段内只有手机号18222336979 存在重叠;指定手机号登录登出过E基站,但没有存在重叠的手机号;指定手机号在C基站与3个手机号发生重叠,其余重叠情况类似。按照这些手机号由小至大进行排序,分行输出与指定手机号有时空重叠的手机号及所在基站编号,手机号相同时按基站字母序排序输出。

【评分标准】

该题要求查找与指定手机号同时空的手机号,提交程序名为same.c。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{char phone[12];char station;int in;int out;
}NODE;
int N;
NODE* arr;
char tar[12];
int tarnum=0;
int flag;
NODE same[100];
int samenum=0;void SameTime();
int ifHaveSame(NODE,NODE);
void Insert(NODE);
void OutPut();
int main()
{scanf("%d",&N);arr=(NODE*)malloc(sizeof(NODE)*N);for(int i=0;i<N;i++){scanf("%s %c %d %d",arr[i].phone,&arr[i].station,&arr[i].in,&arr[i].out);}scanf("%s",tar);for(int i=0;i<N;i++){if(strcmp(tar,arr[i].phone)==0){tarnum++;flag=i;while(strcmp(tar,arr[++i].phone)==0)tarnum++;break;}}SameTime();OutPut();
}
void SameTime()
{for(int i=0;i<N;i++){int cmp=strcmp(tar,arr[i].phone);if(cmp==0){int n=tarnum-1;while(n--)i++;}else{for(int j=flag;j<tarnum+flag;j++){if(arr[i].station==arr[j].station){if(ifHaveSame(arr[i],arr[j]))Insert(arr[i]);}}}}
}
int ifHaveSame(NODE a,NODE b)
{if(a.in<=b.out&&a.out>=b.in)return 1;else return 0;
}
void Insert(NODE n)
{int i=0;for(;i<samenum;i++){if(strcmp(same[i].phone,n.phone)==0&&same[i].station==n.station)return;}if(i==samenum){same[samenum++]=n;}
} 
int cmp1(const void* p1,const void* p2)
{return strcmp((*(NODE*)p1).phone,(*(NODE*)p2).phone);
}
int cmp2(const void* p1,const void* p2)
{return (*(NODE*)p1).station-(*(NODE*)p2).station;
}
void OutPut()
{qsort(same,samenum,sizeof(NODE),cmp1);for(int i=0;i<samenum;i++){int start=i;int num=1;while(i+1<samenum&&strcmp(same[i].phone,same[i+1].phone)==0){i++;num++;}  if(num>1)qsort(same+start,num,sizeof(NODE),cmp2);}for(int i=0;i<samenum;i++){printf("%s %c\n",same[i].phone,same[i].station);}
}

二、 老鼠回家-无回路

【问题描述】

老鼠离家去找食物,要经过不断探索才能找到食物。某老鼠非常聪明,在原路返回时能够避免找食物时多走的冤枉路,找到直接回家的路。

编写程序,读入该老鼠找食物过程中的轨迹记录,然后分析出其原路回家的最佳路径(即:走过的路,但不包括冤枉路)。在此冤枉路指的是原路返回的路;而且假设老鼠走过的路不会形成环。

算法提示:使用栈保存老鼠走过的轨迹;每当读入老鼠新的轨迹时,检查栈顶元素,判断新轨迹能否与栈顶轨迹抵消(全部或部分),然后进行入栈或出栈操作,示例见样例说明。

【输入形式】

输入为一系列老鼠轨迹。老鼠轨迹以行进方向和步数对来表示。行进方向包括:1-上、2-下、3-左、4-右,步数为一个整数值,行进方向和步数为0时表示输入结束。例如:1-4,表示向上行进4步,1和4之间为英文减号“-”。各行进步数间以一个空格分隔。最后的0-0后为换行符。老鼠行走的总步数不超过1000步。

在这里插入图片描述

以上图为例(图中数字为路的长度,以老鼠的步数为单位),老鼠从家开始找食物的轨迹输入如下:

1-2 3-4 1-7 2-3 4-3 3-3 2-4 4-4 1-6 4-2 2-2 1-2 3-4 1-3 0-0

【输出形式】

按照上述要求输出老鼠从食物回家的最佳路径,输出格式同输入,最后一步后有无空格均可。

【样例输入】

1-2 3-4 1-7 2-3 4-3 3-3 2-4 4-4 1-6 4-2 2-2 1-2 3-4 1-3 0-0

【样例输出】

2-3 4-2 2-8

【样例说明】

老 鼠从家出发,开始向上走,前3次轨迹后栈的状态如下图所示;轨迹4因为是往下走3步,与栈顶的往上走7步(1-7)相比较,属于原路返回的路,可以从栈顶 轨迹中核减掉,结果如下图所示;轨迹6、7、8都是往回走,结果如下图所示;其它轨迹类似,轨迹14后找到食物,最后输出原路回家的最佳路径,既将栈中的轨迹反向输出(部分轨迹要合并)。
在这里插入图片描述

【评分标准】

该题要求找到回家的最佳路径,提交程序名为path.c。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
enum set {UP=1,DOWN,LEFT,RIGHT};
typedef struct node
{enum set orient;int distance;
}NODE;
NODE* stack[1000];
int top=0;void Push(int,int);
int isContrast(int,int);
void Return();
int main()
{int ori,distance;scanf("%d-%d",&ori,&distance);while(ori!=0){Push(ori,distance);scanf("%d-%d",&ori,&distance);}Return();
}
void Push(int o,int d)
{NODE* new=(NODE*)malloc(sizeof(NODE));new->orient=o,new->distance=d;if(top==0){stack[top++]=new;return;}NODE* topitem=stack[top-1];int judge=isContrast(topitem->orient,o);if(judge==1){if(topitem->distance==d)top--;else if(topitem->distance>d){topitem->distance-=d;}else{topitem->orient=o;topitem->distance=d-topitem->distance;}}else{stack[top++]=new;}
}
int isContrast(int a,int b)
{if(a==UP&&b==DOWN||a==DOWN&&b==UP)return 1;if(a==LEFT&&b==RIGHT||a==RIGHT&&b==LEFT)return 1;return 0;
}
void Return()
{int i=0;for(;i<top;i++){int start=i;int num=1;while(i+1<top&&stack[i]->orient==stack[i+1]->orient){num++;stack[start]->distance+=stack[i+1]->distance;i++;}if(num>1){i=i-num+1;memmove(stack+start+1,stack+start+num,sizeof(NODE)*(top-start-num));top=top-num+1;}}for(int j=top-1;j>=0;j--){if(stack[j]->orient==UP)printf("%d-%d ",DOWN,stack[j]->distance);else if(stack[j]->orient==DOWN)printf("%d-%d ",UP,stack[j]->distance);else if(stack[j]->orient==LEFT)printf("%d-%d ",RIGHT,stack[j]->distance);else if(stack[j]->orient==RIGHT)printf("%d-%d ",LEFT,stack[j]->distance);}
}

三、函数调⽤关系

【问题描述】

给定某能正常运⾏结束的⽤户函数调⽤栈信息(当⼀个函数被调⽤时将⼊栈,当调⽤返回时,将出栈)。编写程序,对函数调⽤栈信息进⾏分析,依据函数⼊栈和出栈信息,分析函数调⽤关系,即⼀个函数调⽤了哪些不同函数。并按运⾏时调⽤序输出调⽤关系。

说明:

在⼀个函数中,同⼀函数有可能被调⽤多次,输出调⽤关系时只输出⼀次;若⼀个函数没有调⽤其它函数,则不输出调⽤关系;函数运⾏时调⽤序是指函数在调⽤栈中的出现序。程序中不存在递归调⽤。函数名符合C语⾔标识符的规定,函数名⻓度不超过20,每个函数最多调⽤不超过10个不同函数,程序中⽤户定义的函数个数不超过100。

算法提示:当⼀个函数⼊栈时,它就是当前栈顶函数调⽤的⼀个函数。

【输⼊形式】

假设⽤8表示函数⼊栈操作;⽤0表示当前函数出栈。当操作为8(⼊栈)时,输⼊形式为:

<操作> <函数名>

当操作为0(出栈)时,输⼊形式为:

<操作>

所有⼊栈操作和出栈操作都是从标准输⼊分⾏输⼊,假设调⽤栈中函数个数最多不超过200。开始时,调⽤栈为空,当调⽤栈再次为空时,输⼊结束。

【输出形式】

按运⾏时调⽤先后顺序输出函数调⽤关系到标准输出,每⾏为⼀个函数的调⽤关系信息,包括:函数名及被调⽤函数,函数与被调⽤函数间⽤⼀个英⽂冒号“:”分隔,被调⽤函数间⽤⼀个英⽂逗号“,”分隔,最后⼀个函数名后跟⼀个回⻋。若⼀个函数没有调⽤其它函数,则不输出。

【样例输⼊】

8 main
8 input
0
8 mysqrt
0
8 findA
0
8 findB
8 area
8 mysin
0
8 mycos
0
8 mysqrt
0
0
0
8 findC
8 area
8 mysin
0
0
8 mysqrt
8 max
0
0
0
8 output
0
0

【样例输出】

main:input,mysqrt,findA,findB,findC,ouput
mysqrt:max
findB:area
area:mysin,mycos,mysqrt
findC:area,mysqrt

【样例说明】

按照运⾏时调⽤函数的先后顺序,依次输出了main、mysqrt、findB、area和findC的函数调⽤关系。其中main函数调⽤了6个函数,按照运⾏时调⽤序依次输出。注意:mysqrt函数先于findB等函数出现在栈中,虽然mysqrt调⽤max较晚,但要先输出其调⽤关系。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAXLEN 21
#define MAXNUM 100
typedef struct node
{char name[21];char functions[MAXNUM][MAXLEN];int funcnum;
}FUNC;
FUNC* arr[100];
int index=0;
char stack[200][MAXLEN];
int top=0;void Push();
void OutPut();
int main()
{int op;do{scanf("%d",&op);if(op==8){Push();}else if(op==0)top--;}while(top!=0);OutPut();
}
void Push()
{char func[21];scanf("%s",&func);int i=0;for(;i<index;i++){if(strcmp(arr[i]->name,func)==0)break;}if(i==index){FUNC* new=(FUNC*)malloc(sizeof(FUNC));new->funcnum=0;strcpy(new->name,func);arr[index]=new;index++;}if(top==0){strcpy(stack[top],func);top++;}else{char* topitem=stack[top-1];int i=0;for(;i<index;i++){if(strcmp(arr[i]->name,topitem)==0){int j=0;for(;j<arr[i]->funcnum;j++)if(strcmp(arr[i]->functions[j],func)==0)break;if(j==arr[i]->funcnum){strcpy(arr[i]->functions[j],func);arr[i]->funcnum++;}break;}}strcpy(stack[top],func);top++;}
}
void OutPut()
{for(int i=0;i<index;i++){if(arr[i]->funcnum){printf("%s:",arr[i]->name);int j=0;for(;j<arr[i]->funcnum-1;j++){printf("%s,",arr[i]->functions[j]);}printf("%s\n",arr[i]->functions[j]);}}
}

注:以下两道题为助教原创题目:

四、东二食堂模拟

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 200
typedef struct node
{int wtime;int starttime;int id;int face;
}STU;
STU queue[MAX];
STU wtime[MAX];
int ix=0;
int N;
int Index=0;
int Head=0;void Push(STU);
void breakqueue(int);
int upgratewtime(int);
int cmp(const void* p1,const void* p2)
{return (*(STU*)p1).id-(*(STU*)p2).id;
}int main()
{scanf("%d",&N);STU tmp;for(int i=0;i<N;i++){scanf("%d %d %d",&tmp.starttime,&tmp.id,&tmp.face);tmp.wtime=tmp.starttime;Push(tmp);}int second=queue[0].starttime;for(;;second++){breakqueue(second);if(queue[Head].starttime<=second)wtime[ix++]=queue[Head++];if(!upgratewtime(second)&&Head==N)break;}qsort(queue,N,sizeof(STU),cmp);for(int i=0;i<N;i++){printf("%d %d\n",queue[i].id,queue[i].wtime);}return 0;
}
int upgratewtime(int sec)
{   int i=Head;int flag=0;for(;i<N&&queue[i].starttime<=sec;i++){queue[i].wtime++;flag=1;}return flag;
}
void breakqueue(int sec)
{int i=Head+1;for(;i<N;i++){if(queue[i].starttime==sec){if(i-Head<queue[i].face){STU tmp=queue[i];memmove(queue+1+Head,queue+Head,sizeof(STU)*(i-Head));queue[Head]=tmp;}}}
}
void Push(STU s)
{if(Index==0){queue[Index]=s;Index++;return;}int i=Index-1;int j=i;for(;j>=0;j--){if(queue[j].starttime>s.starttime)queue[j+1]=queue[j];else{queue[j+1]=s;Index++;break;}}if(j==-1){queue[0]=s;Index++;}   
}

五、栈帧

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{char name[50];int frame;
}FUNC;
typedef struct state
{FUNC stack[100];int frametotal;int funcnum;
}STATE;FUNC stack[100];
int top=-1;
FUNC functions[20];
STATE S[100];
int indexst=0;
int N;void Insert();
int find(char*);
void updatestate();
int cmp1(const void* p1,const void*p2)
{return (*(STATE*)p2).funcnum-(*(STATE*)p1).funcnum;
}
int cmp2(const void* p1,const void*p2)
{return (*(STATE*)p2).frametotal-(*(STATE*)p1).frametotal;
}
void output();int main()
{scanf("%d",&N);if(N==0){printf("0\n");printf("0");return 0;}for(int i=0;i<N;i++){scanf("%s %d",&functions[i].name,&functions[i].frame);}char ope[20];do{scanf("%s",ope);if(strcmp(ope,"call")==0){Insert();updatestate();}else if(strcmp(ope,"return")==0){top--;updatestate();}else if(strcmp(ope,"frame")==0){int x;scanf("%d",&x);int j=top-x;for(int w=0;w<j;w++){top--;}updatestate();}}while(top!=-1);output();
}
void Insert()
{char ope_func[50];scanf("%s",ope_func);int frame=find(ope_func);++top;strcpy(stack[top].name,ope_func);stack[top].frame=frame;}
void updatestate()
{memcpy(S[indexst].stack,stack,sizeof(FUNC)*(top+1));S[indexst].funcnum=top+1;S[indexst].frametotal=0;for(int i=0;i<top+1;i++){S[indexst].frametotal+=stack[i].frame;}indexst++;
}
int find(char* tar)
{for(int i=0;i<N;i++){if(strcmp(functions[i].name,tar)==0)return functions[i].frame;}
}
void output()
{qsort(S,indexst,sizeof(STATE),cmp1);int a=S[0].funcnum;printf("%d\n",a);for(int i=0;i<a;i++){printf("%s(%d) ",S[0].stack[i].name,S[0].stack[i].frame);}printf("\n");qsort(S,indexst,sizeof(STATE),cmp2);int b=S[0].funcnum;int c=S[0].frametotal;printf("%d\n",c);for(int i=0;i<b;i++){printf("%s(%d) ",S[0].stack[i].name,S[0].stack[i].frame);}
}

相关文章:

考前刷题练手感(北航期末往年数据结构编程题)

本次因为是考前一天极速刷题&#xff0c;所以没有讲解&#xff0c;若有问题可私信。 目录 一、 查找同时空人员二、 老鼠回家-无回路三、函数调⽤关系四、东二食堂模拟五、栈帧 一、 查找同时空人员 【问题描述】 假设一共有6个手机基站&#xff0c;都具有记录手机连接基站状…...

Android记录9--实现转盘效果

自定义View /2013.10.16_TurnPlate_Demo/src/com/wwj/turnplate/TurnPlateView.java package com.wwj.turnplate; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; im…...

【Oracle APEX开发小技巧1】转换类型实现显示小数点前的 0 以 及常见类型转换

在 apex 交互式式网格中&#xff0c;有一数值类型为 NUMBER&#xff0c;保留小数点后两位的项&#xff0c;在 展示时小数点前的 0 不显示。 效果如下&#xff1a; 转换前&#xff1a; m.WEIGHT_COEFFICIENT 解决方案&#xff1a; 将 NUMBER&#xff08;20&#xff0c;2&#xf…...

GRIT论文阅读笔记

一篇试图统一生成任务和编码任务的工作&#xff0c;就是把只能完成生成任务的GPT改成既能生成又能encode。思路其实很简单&#xff0c;就是在输入的时候添加instruction tokens来指引模型做representation还是generation&#xff0c;然后各自算损失。representation任务用的是d…...

1980python个性化电影推荐管理系统mysql数据库Django结构layUI布局elasticsearch存储计算机软件工程网页

一、源码特点 python Django个性化电影推荐管理系统是一套完善的web设计系统mysql数据库 利用elasticsearch存储浏览数据 &#xff0c;对理解python编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 开发环境pycharm…...

基于IDEA的Maven(依赖介绍和引用)

如何通过一个坐标信息&#xff08;依赖&#xff09;去引用 &#xff0c;某个"jar 包" 会在这篇博客进行学习。 目录 一、学习开始 &#xff08;0&#xff09;项目的结构组成和 "pom.xml" 文件内容。 &#xff08;1&#xff09;首先需要一个标签&#xf…...

pytest测试框架pytest-sugar插件生成进度条

Pytest提供了丰富的插件来扩展其功能&#xff0c;介绍下插件pytest-sugar&#xff0c;可以帮助我们在控制台中显示彩色的测试结果和进度条&#xff0c;提供失败的堆栈回溯信息。 为了使用 pytest-sugar&#xff0c;需要满足以下条件&#xff1a; Python 3.8 或更高版本pytest…...

若依框架集成微信支付

1. 添加微信支付相关依赖 <!-- 微信支付 --> <dependency><groupId>com.github.wxpay</groupId><artifactId>wxpay-sdk</artifactId><version>0.0.3</version> </dependency> <dependency><groupId>com.gi…...

IOS开发学习日记(十七)

简单的第三方登录和分享功能 第三方登录系统 URL Scheme&#xff1a;App间的跳转及通信 App间跳转场景 登陆系统&#xff1a; 跨平台&#xff0c;跨App 标记用户&#xff0c;个性化的推送 使用第三方登录&#xff08;减少注册成本 / 无须维护敏感信息&#xff09; 微信 / Q…...

【ARMv8/ARMv9 硬件加速系列 2 -- ARM NEON 加速运算介绍】

文章目录 ARM NEONNEON 向量寄存器NEON 寄存器使用方式NEON 寄存器的视图NEON 寄存器别名NEON 寄存器的用途ARM NEON 在ARMv8架构中,引入了一组新的寄存器,称为向量寄存器(Vector Registers),用于支持高效的向量和浮点计算。这些寄存器是SIMD(Single Instruction, Multi…...

LayoutSystem布局系统

简介: LayoutSystem,是UGUI中由CanvasUpdateSystem发起(m_LayoutRebuildQueue中大部分都是LayoutRebuilder)的关于布局排列的处理系统。 类图: 布局过程 核心代码讲解: LayoutRebuilder...

滚球游戏笔记

1、准备工作 (1) 创建地面&#xff1a;3D Object-Plane&#xff0c;命名为Ground (2) 创建小球&#xff1a;3D Object-sphere&#xff0c;命名为Player&#xff0c;PositionY 0.5。添加Rigidbody组件 (3) 创建文件夹&#xff1a;Create-Foder&#xff0c;分别命名为Material…...

Mysql8死锁排查

Mysql8死锁排查 Mysql8 查询死锁的表 -- 查询死锁表select * from performance_schema.data_locks;-- 查询死锁等待时间select * from performance_schema.data_lock_waits;Mysql8之前的版本 查询死锁的表 -- 查询死锁表SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;-- 查询…...

程序猿成长之路之数据挖掘篇——决策树分类算法(1)——信息熵和信息增益

决策树不仅在人工智能领域发挥着他的作用&#xff0c;而且在数据挖掘中也在分类领域中独占鳌头。了解决策树的思想是学习数据挖掘中的分类算法的关键&#xff0c;也是学习分类算法的基础。 什么是决策树 用术语来说&#xff0c;决策树&#xff08;Decision Tree&#xff09;是…...

数据通信与网络(五)

交换机功能&#xff1a; 地址学习&#xff08;端口/MAC地址映射表&#xff09; 通信过滤&#xff08;基于端口/MAC地址映射表&#xff09; 生成树协议&#xff08;断开环路&#xff09; 隔离冲突域 生成树协议 隔离冲突域 交换机配置模式(用不同级别的命令对交换机进行配置) 普…...

数据中心容灾考题

abc cd abc c为啥...

win10远程桌面连接端口,远Win10远程桌面连接端口修改及无法连接解决方案

一、Win10远程桌面连接端口概述 Win10远程桌面连接功能允许用户从远程位置访问和控制另一台计算机。远程桌面连接默认使用TCP 3389端口&#xff0c;但出于安全或其他需求&#xff0c;用户可能希望修改此端口。 二、Win10远程桌面连接端口修改方法 要修改Win10远程桌面连接的…...

基于AT89C52单片机的温度报警系统

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/89456321?spm=1001.2014.3001.5503 仿真构造:AT89C52+DS18B20温度模块+三按键+蜂鸣器+四位数码管显示+电源模块。 压缩包构造:源码+仿真图+设计文档+原理图+开题文档+元件…...

[保姆级教程]uniapp配置vueX

文章目录 注意新建文件简单的使用 注意 uniapp是支持vueX的只需配置一下就好 新建文件 在src文件中&#xff0c;新建一个store&#xff08;如果有的话跳过&#xff09; 在store中新建一个js文件&#xff0c;修改js文件名称和选择模板为default 在 uni-app 项目根目录下&…...

第二次IAG

IAG in NanJing City 我与南京奥体的初次相遇&#xff0c;也可能是最后一次&#xff01; 对我来说,IAG 演唱会圆满结束啦! 做了两场充满爱[em]e400624[/em]的美梦 3.30号合肥站&#xff0c;6.21号南京站[em]e400947[/em] 其实&#xff0c;没想到昨天回去看呀!(lack of money […...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...