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

做静态网站选用什么服务器网站建设培训珠海

做静态网站选用什么服务器,网站建设培训珠海,定州市建设局网站,wordpress 文章截取一#xff1a;前言 停更一周了#xff0c;在这一周里#xff0c;我每时每刻都在 想这我这 29个粉丝#xff0c;庆幸教师资格证终于结束了#xff0c;贴心杰又可以天天更新博客了 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈#xff0c;I am come back; 二#xff1a;题目前言 停更一周了在这一周里我每时每刻都在 想这我这 29个粉丝庆幸教师资格证终于结束了贴心杰又可以天天更新博客了 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈I am come back; 二题目 输入N个进程(N100)以及M类资源M100初始化各种资源的总数T0时刻资源的分配情况。判断T0时刻是否安全。例如 假定系统中有5个进程{P0P1P2P3P4}和三类资源{A,B,C}各种资源的数量分别为10、5、7在T0时刻的资源分配图如下 输入格式: 第一行输入进程数量N第二行输入资源类数M第三行输入M类资源个类资源的总数以下N行分别输入每个进程的名字该进程对M类资源的最大需求以及已分配资源。 输出格式: 输出T0时刻系统的状态。若安全输出“找到安全序列处于安全状态。”否则输出“找不到安全序列处于不安全状态。” 输入样例: 在这里给出一组输入。例如 5 3 10 5 7 P0 7 5 3 0 1 0 P1 3 2 2 2 0 0 P2 9 0 2 3 0 2 P3 2 2 2 2 1 1 P4 4 3 2 0 0 2输出样例: 在这里给出相应的输出。例如 name max allocation need available P0 7 5 3 | 0 1 0 | 7 4 3 | 3 3 2 P1 3 2 2 | 2 0 0 | 1 2 2 | P2 9 0 2 | 3 0 2 | 6 0 0 | P3 2 2 2 | 2 1 1 | 0 1 1 | P4 4 3 2 | 0 0 2 | 4 3 0 | 找到安全序列处于安全状态。三思路 思路: 1.首先我们进行安全性算法是为了预防死锁再解释一下死锁 比如 1:在系统中有两个进程p1,p2 和两个资源r1(扫描仪)r2(刻录机) p1和p2都需要将扫描的文档通过刻录机刻录到CD盘上 2:进程p1先请求资源r1成功进程p2请求资源r2成功那么接下来 p1又申请了r2资源 p2申请了r1资源那么此时p1和p2都在等对方 释放资源那么就会发生死锁两个进程都无法进行下去 2.那么安全性算法就是使系统在分配资源时候一直处在安全的状态即不会发生死锁 那么我们在分配资源的时候就有了算法即最终分配给各个进程的资源都不会影响到 整个系统的安全状态这时会出现一个进程的执行序列 3.具体解释算法过程 1:几个变量 Max:一个进程所需的最大资源量 Allocation:系统已经给其分配了多少资源 Need:这个进程还需要多少资源 Available:这个系统还剩多少资源 2:刚开始设置work Available 将所有进程设置为 finish false 相当于定义一个flag 3:找一个进程满足下列的条件 finish falseneed work(需要的资源得比系统剩余的要少) 4:如果 3的条件满足的话我们就需要 将work Allocation 每个进程执行完后需要释放资源 finish true (代表该进程完成) 返回步骤 3继续寻找满足上诉条件的进程 5:思考如何判定此时的系统状态是安全还是不安全的 安全:如果 3的条件不满足 即此时的所有进程的 finsh true 说明了所有的进程已经完成 不安全: 我们已经判断了所有的finish false 的进程但是仍未找到满足条件的 need work 那么可以判定此状态为 不安全的状态 4.处理数据 1:这里我们选取的数据结构是结构体数组因为一个进程他对应好多属性所以选取的是结构体 在结构体的属性当中 我们设置一个 max[] 和 allocation[] 目的是存放多个不同类型资源 2:关于node[i].a[j],node[i].b[j],node[i].c[j]的理解就是3个二维数组 就是这样的 四先说坑 1.这个题无语了简直了真是不应该是PTA这个平台让我真的无语了我定义了一个变量 cnt 但我并未初始化为0 我在DEV-C中测试了好多数据其实也无妨正确结果但是在PTA中提交一直显示答案错误而且测试样例一直输出 找不到安全序列真的一上午我真的想砸电脑什么呀 最后坚持不懈不信邪终于让我发现一个大毛病原来在PTA上变量必须初始化否则系统自动给你赋值一个很大数 但在DEV-C上却没有任何问题 2.这个题还需要的是无论 是否可以得到安全序列其都必须将其系统中各个进程的状态输出来 五上码 /**思路:1.首先我们进行安全性算法是为了预防死锁再解释一下死锁 比如1:在系统中有两个进程p1,p2 和两个资源r1(扫描仪)r2(刻录机)p1和p2都需要将扫描的文档通过刻录机刻录到CD盘上 2:进程p1先请求资源r1成功进程p2请求资源r2成功那么接下来p1又申请了r2资源 p2申请了r1资源那么此时p1和p2都在等对方释放资源那么就会发生死锁两个进程都无法进行下去2.那么安全性算法就是使系统在分配资源时候一直处在安全的状态即不会发生死锁那么我们在分配资源的时候就有了算法即最终分配给各个进程的资源都不会影响到整个系统的安全状态这时会出现一个进程的执行序列3.具体解释算法过程1:几个变量Max:一个进程所需的最大资源量Allocation:系统已经给其分配了多少资源Need:这个进程还需要多少资源Available:这个系统还剩多少资源2:刚开始设置work Available 将所有进程设置为 finish false 相当于定义一个flag3:找一个进程满足下列的条件 finish falseneed work(需要的资源得比系统剩余的要少)4:如果 3的条件满足的话我们就需要 将work Allocation 每个进程执行完后需要释放资源finish true (代表该进程完成)返回步骤 3继续寻找满足上诉条件的进程 5:思考如何判定此时的系统状态是安全还是不安全的 安全:如果 3的条件不满足 即此时的所有进程的 finsh true 说明了所有的进程已经完成不安全: 我们已经判断了所有的finish false 的进程但是仍未找到满足条件的need work 那么可以判定此状态为 不安全的状态 否则那么就是说明该系统处在不安全的状态即会发生死锁4.处理数据 1:这里我们选取的数据结构是结构体数组因为一个进程他对应好多属性所以选取的是结构体 在结构体的属性当中 我们设置一个 max[] 和 allocation[] 目的是存放多个不同类型资源 2:关于node[i].a[j],node[i].b[j],node[i].c[j]的理解就是3个二维数组 就是这样的 */ #includebits/stdc.h using namespace std;struct Node{string processName;//进程名 int a[100];//Max int b[100];//allocation int c[100];//need bool finish;}node[1000];//关于重写 sort方法中的两个参数 都表示是一个结构体即我们需要用两个结构体当中的数据进行比较 bool sort_c(Node node1,Node node2){return node1.c[0] node2.c[0]; }int main(){int N,M;int cnt 0;//用于记进程完成的个数 vectorintv1;//存总的资源总量 vectorintv2;//存need需要的资源 vectorintv3;//记录最后需要输出的Available cin N M;for(int i 0; i M; i){int resources;cin resources;v1.push_back(resources); }for(int i 0; i N; i){cin node[i].processName;//输入Max for(int j 0; j M; j){cin node[i].a[j];}//输入allocation for(int j 0; j M; j){cin node[i].b[j]; v1[j] - node[i].b[j];//这里是每次减去分配的资源 那么剩下的最后就是 available }//求取needfor(int j 0; j M; j){node[i].c[j] node[i].a[j] - node[i].b[j];} node[i].finish false;//将每个进程初始状态设为 false } for(int i 0; i M; i){v3.push_back(v1[i]);} // sort(node,nodeN,sort_c);//算法核心部分 for(int i 0; i N; i){int count 0;for(int j 0; j M; j){if(node[i].c[j] v1[j]){count;}else{break;//只要有一个不合适就 break 出去 } }if(node[i].finish false count M) {//count M说明剩余的各个资源总量大于该进程的所需要的 for(int j 0; j M; j){v1[j] node[i].b[j];//那么此时剩余的资源总量为原来的加上 该进程释放其占有的资源} node[i].finish true; cnt;//记录完成进程的个数 // cout node[i].processName ;//此处牛逼之处在于 只要我们找到满足条件的就从-1开始继续寻找满足条件的 i -1; } }// cout endl;int flag 0;cout name max allocation need available endl;for(int i 0; i N; i){cout node[i].processName ;for(int j 0; j M; j){cout node[i].a[j] ; } cout | ;for(int j 0; j M; j){cout node[i].b[j] ; }cout | ;for(int j 0; j M; j){cout node[i].c[j] ; }cout |;if(flag 0){for(int j 0; j M; j){if(j 0)cout v3[j];elsecout v3[j] ; } flag 1; } cout endl; }if(cnt N){ cout 找到安全序列处于安全状态。;}else{cout 找不到安全序列处于不安全状态。;} // for(int i 0; i M; i){ // cout v1[i] ; // } // 验证数据 // for(int i 0; i N; i){ // // cout node[i].processName ; // // for(int j 0; j M; j){ // // cout node[i].c[j] ; // } // cout endl; // }}//name max allocation need available //P0 7 5 3 | 0 1 0 | 7 4 3 | 3 3 2 //P1 3 2 2 | 2 0 0 | 1 2 2 | //P2 9 0 2 | 3 0 2 | 6 0 0 | //P3 2 2 2 | 2 1 1 | 0 1 1 | //P4 4 3 2 | 0 0 2 | 4 3 0 | //找到安全序列处于安全状态。//5 //3 //10 5 7 //P0 8 6 3 0 1 0 //P1 3 2 2 2 0 0 //P2 9 0 2 3 0 2 //P3 2 2 2 2 1 1 //P4 4 3 2 0 0 2//5 //3 //6 3 5 //P0 7 5 3 0 1 0 //P1 3 2 2 2 0 0 //P2 9 0 2 3 0 2 //P3 2 2 2 2 1 1 //P4 4 3 2 0 0 2//5 //4 //3 14 12 12 //p0 0 0 1 2 0 0 1 2 //p1 1 7 5 0 1 0 0 0 //p2 2 3 5 6 1 3 5 4 //p3 0 6 5 2 0 6 3 2 //p4 0 6 5 6 0 0 1 4 最后 再唠叨一句 记得加油宝 我们共勉 共同进步
http://wiki.neutronadmin.com/news/316589/

相关文章:

  • 做旅游网站需要的背景青岛英文网站建设
  • 木材加工公司网站建设个人网站的制作
  • 佛山做网站的公司哪家好网站诊断网站seo诊断
  • 上海专业高端网站建设服务公司重庆建筑招聘网
  • 深圳网站制作公司网站建设公司asp.net网站开发菜鸟
  • 织梦手机wap网站标签调用wordpress什么主题好
  • 免费seo网站诊断免费公司网站 设计方案
  • 楼市政策最新消息免费seo优化
  • h5网站制作一般多少钱公司做网站一般多少钱运营
  • 定安网站制作c#网站开发案例大全
  • 网站loading动画效果编辑网站内容有没有批量办法
  • 卫辉网站建设网站开发分包
  • 数据库网站常德网站开发网站运营
  • 家居网站建设服装网站
  • 海西州电子商务网站建设公司python网页编程
  • 宁波网站制作计划东莞微网站制作
  • 沈阳专业制作网站公司吗网页制作图片大小设置
  • 做网站的入门书籍企业做电商网站有哪些
  • 成品网站源码1模仿网站建设站建设
  • 网站设计师是做什么的简介网站建设流程
  • 网站怎么屏蔽国内访问网页程序设计软件
  • 深圳搭建网站公司学做凉菜冷菜的网站
  • 网站建设企业类型是什么wordpress预约页面
  • 广州网站建设集团做网站考什么赚钱
  • 建立网站纯文字版本稿定设计手机版下载
  • 长沙专门做网站公司本地安装wordpress账户是什么意思
  • 网站SEM优化如何做找竞价托管公司
  • 教育培训学校网站建设方案搭建网站 阿里云
  • 东莞智通人才最新招聘优化网站和网站建设
  • 支付宝接口 网站备案免费设计标志