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

青岛建站模板厂家做公众号商城原型的网站

青岛建站模板厂家,做公众号商城原型的网站,wordpress产品页名称,成都网站网页设计题意 给出一个包含n个bug的应用程序#xff0c;以及m个补丁#xff0c;每个补丁使用两个字符串表示#xff0c;第一个串表示补丁针对bug的情况#xff0c;即哪些bug存在#xff0c;以及哪些bug不存在#xff0c;第二个串表示补丁对bug的修复情况#xff0c;即修复了哪些…题意 给出一个包含n个bug的应用程序以及m个补丁每个补丁使用两个字符串表示第一个串表示补丁针对bug的情况即哪些bug存在以及哪些bug不存在第二个串表示补丁对bug的修复情况即修复了哪些bug,以及引入哪些bug。补丁还包含修复的时间。问修复这些bug所需要的最短时间 思路 使用Dijkstra算法使用n表示bug数bug数限制在20内初始n个bug全存在即源点为1n-1,在从优先级队列中取出最短时间节点时遍历补丁根据当前补丁的情况以及修复情况来展开新的节点同时将新节点放入优先级队列中最后看目标点为0时的距离 代码 #include bits/stdc.husing namespace std;#define _for(i, a, b) for(int i (a); i (b); i) #define _rep(i, a, b) for (int i (a); i (b); i)struct Edge {int from, to, dist; };struct HeapNode {int u, d;bool operator(const HeapNode other) const{return d other.d;} };struct Patch {int present, absent, introduce, remove, time;bool canApply(int u) const{return (u present) present (absent u) 0;}int apply(int u) const{return (u | introduce) (~remove);} };template size_t SZV, int INF struct Dijkstra {int n;vectorPatch patches;bool done[SZV];int d[SZV];void init(int n){this- n (1 n);patches.clear();}void dijkstra(int s){priority_queueHeapNode pq;fill_n(done, n, false);fill_n(d, n, INF);d[s] 0;pq.push({s, 0});while (!pq.empty()) {HeapNode curNode pq.top();pq.pop();int u curNode.u;if (done[u]) {continue;}done[u] true;_for(i, 0, patches.size()) {const Patch p patches[i];if (!p.canApply(u)) {continue;}int v p.apply(u);if (d[v] d[u] p.time) {d[v] d[u] p.time;pq.push({v, d[v]});}}}} };void fastio() {ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr); }const int MAXN 20; const int MAXV (1 MAXN) 4; const int INF 1e9;int n, m;void toInt(const string s, int i1, int i2) {i1 i2 0;_for(i, 0, n) {if (s[i] ) {i1 | (1 i);}if (s[i] -) {i2 | (1 i);}} }DijkstraMAXV, INF solver;int main() {fastio();#ifndef ONLINE_JUDGEifstream fin(f:\\OJ\\uva_in.txt);streambuf* back cin.rdbuf(fin.rdbuf());#endifint kase 1;while (cin n m) {if (n 0 m 0) {break;}//cout n: n m: m endl;solver.init(n);string buf1, buf2;Patch patch;_for(i, 0, m) {cin patch.time buf1 buf2;toInt(buf1, patch.present, patch.absent);toInt(buf2, patch.introduce, patch.remove);solver.patches.push_back(patch);}/*for (int i 0; i solver.patches.size(); i) {const Patch patch solver.patches[i];cout patch.present patch.absent patch.introduce patch.remove endl;}*/solver.dijkstra(solver.n - 1);cout Product kase endl;if (solver.d[0] INF) {cout Bugs cannot be fixed. endl;} else {cout Fastest sequence takes solver.d[0] seconds. endl;}cout endl;}#ifndef ONLINE_JUDGEcin.rdbuf(back);#endifreturn 0; } 注意 因为在代码中初始节点数为120-1如果直接在栈上即main函数中创建Dijkstra类由于栈空间限制会出错所以需要设置为全局变量
http://www.zqtcl.cn/news/65621/

相关文章:

  • 做网站编辑的时候没保存怎么大华天途建设集团网站
  • 班级网页制作素材南昌快速优化排名
  • 建站网址导航特价网站建设官网
  • 建设可以聊天的网站tug wordpress
  • 做性视频网站有哪些潮州网站建设
  • 网站建设中效果wordpress 微信 插件
  • 东莞智通人才市场招聘官网百度指数不高的网站怎么优化
  • 我们不仅仅做网站更懂得网络营销企业公共服务平台网站建设方案
  • 网站核验单电子商务网站建设的代码
  • 蓝色网站后台网页浏览器在线使用
  • 如何知道一个网站用什么建设的网站上传可以通过
  • 武进网站建设价位教育企业重庆网站建设
  • 做风险代理案源的网站南京专业网站开发团队
  • 知名高端网站建设企业如何在微信公众号里建设微网站
  • 北京网站域名快速备案一般网站建设公司好
  • 沈阳推广网站济南专业做网站的公司
  • 网站设计编辑国内哪个推广网站做的好
  • 做境外的网站网站违法么浙江联科网站开发
  • 英雄联盟怎么做直播网站建设部勘察设计网站
  • 营销网站的关键字wordpress 改网站域名
  • 做网站买什么服务器吗域名抢注网站是怎么
  • 关于政协 网站建设wordpress最详细的教程视频教程
  • 唐山教育平台网站建设作风建设 宣讲家网站
  • 企业网站管理系统怎么用上海哪个网站好用
  • wordpress站点标题wordpress 内部链接
  • 青岛建设厅官方网站黄埔做网站的公
  • 成都地区网站开发成本猎头公司好做吗
  • 自建网站投放广告网页浏览设置在哪里打开
  • 常州做企业网站智联网最新招聘官网
  • 常州网站建设方案托管可以在公司局域网做网站吗