生产工序(oj题)

2023-12-09 20:21
文章标签 生产 oj 工序

本文主要是介绍生产工序(oj题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很有趣的一道题

关键在于固定工序的整合

看样例是固定工序中间是不能插入其他工序的(也不讲清楚),如果可以的话,只能说可能会更麻烦

注意固定工序是按照固定工序中的第一个工序进行排序的

整合完之后,就是递归列出所有的可能了

唯一新颖之处就是固定工序的整合

代码如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Process{int num[100];int len;
}process[10];
void dg(int n);
int count, pn, occ[10];
int result[11];int main(void)
{int N, M;scanf("%d%d", &N, &M);{struct Process tmp[10];memset(tmp, 0, sizeof(tmp));for(int i = 0; i < M; i++){scanf("%d", &tmp[i].len);for(int j = 0; j < tmp[i].len; j++)scanf("%d", &tmp[i].num[j]);}//创建整合后的工序for(int x = 1; x <= N; x++){for(int i = 0; i < M; i++)for(int j = 0; j < tmp[i].len; j++)if(x == tmp[i].num[j]){if(j == 0)  memcpy(&process[pn++], &tmp[i], sizeof(tmp[i]));goto out;}process[pn].len = 1;process[pn++].num[0] = x;out: ;}}dg(1);return 0;
}
void dg(int n)
{for(int i = 0; i < pn; i++)if(!occ[i]){occ[i] = 1;result[n] = i;if(n != pn)dg(n + 1);else{printf("%d.", ++count);for(int j = 1; j <= pn; j++){for(int x = 0; x < process[result[j]].len; x++)printf(" %d", process[result[j]].num[x]);}putchar('\n');}occ[i] = 0;}
}

因为tmp的适用范围只有在整合部分,所以整了个动态变量

这里用了goto跳出多重循环

这篇关于生产工序(oj题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/474956

相关文章

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

生产mongodb 分片与集群 方案

链接:http://my.oschina.net/pwd/blog/411439#navbar-header 注:主要是有一键安装的脚本可以借鉴

一次生产环境大量CLOSE_WAIT导致服务无法访问的定位过程

1.症状 生产环境的一个服务突然无法访问,服务的交互过程如下所示: 所有的请求都是通过网关进入,之后分发到后端服务。 现在的情况是用户服务无法访问商旅服务,网关有大量java.net.SocketTimeoutException: Read timed out报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后

红旗EQM换电连接器哪家生产

红旗EQM换电连接器概述 红旗EQM换电连接器是针对红旗品牌电动汽车设计的一种快速更换电池的装置。它允许用户在短时间内完成电池的更换,从而提高电动车的使用效率和便捷性。接下来,我们将详细探讨红旗EQM换电连接器的相关操作步骤、所需工具以及最新的相关信息。   红旗EQM换电连接器操作步骤 根据搜索结果,红旗EQM换电连接器的具体操作步骤如下: 断开电源:在进行任何操作之前,确

Linux多线程——POSIX信号量与环形队列版本之生产消费模型

文章目录 POSIX信号量POSIX的操作初始化销毁等待信号量(申请资源)发布信号量(放下资源) 环形队列之生产消费模型 POSIX信号量 POSIX信号量和System V信号量是不同的标准 但是实现的功能是一样的,都是为了解决同步的问题 我们说信号量指的就是资源的数量 在生产者与消费者模型里面,生产者与消费者所认为的资源是不同的 生产者认为空间是资源,因为每次都要

一次关于生产环境服务无故宕机的排查过程

故事的开始 这个故事是在一年之前,当时我们的系统运行在客户的k8s环境上。然后很神奇的是每个月底我们都会服务宕机,当然我们开启了多个实例。当时的容器线条就像心跳图一样(或许有些描述的不太准确,我没有找到当时那个像心电图一样的容器资源监控图)。 第一次的排查 当时我们还是很有信心去解决这个问题的。由于每个月的月底都是业务使用的高峰时段,也就是说,从表象上来看,qps一高,容器就挂。 业务日

哈理工OJ 2179(深搜)

组合 Time Limit: 1000 MSMemory Limit: 32768 K Total Submit: 7(5 users)Total Accepted: 6(5 users)Rating: Special Judge: No Description 给出一个正整数N,从集合{1,2,3..N} 中找出所有大小为k的子集, 并按照字典序从小到大输出。 Input 第一行是一个整

每日OJ_牛客_求和(递归深搜)

目录 牛客_求和(递归深搜) 解析代码 牛客_求和(递归深搜) 求和_好未来笔试题_牛客网 解析代码         递归中每次累加一个新的数,如果累加和大于等于目标,结束递归。此时如果累加和正好等于目标,则打印组合。向上回退搜索其它组合。此题本身就是一个搜索的过程,找到所有的组合。 #include <iostream>#include <cmath>#in

广东省特殊食品生产试题分享

1.食品污染是指在各种条件下,导致有毒有害物质进入到食物中,造成以下哪项发生转变的过程。(D) A.食品的安全性 B.食品的养分性 C.食品的感官性状 D.以上都是 2.食品污染物是指(D) A.生物性污染物 B.化学性污染物 C.物理性污染物 D.以上都是 3.关于菌落总数的表达,错误的选项是(A) A.反映食品对人体安康的危害程度 B.是食品清洁状态的标志 C.推测食品的耐保藏性 D.指1g检