ac测评题库_ftb任务指令

ac测评题库_ftb任务指令有两台机器 A,B 以及 K 个任务。机器 A 有 N 种不同的模式(模式 0∼N−1),机器 B 有 M 种不同的模式(模式 0∼M−1)。两台机器最开始都处于模式 0。每个任务既可以在 A 上执行,也可以在 B 上执行。对于每个任务 i,给定两个整数 a[i] 和 b[i],表示如果该任务在 A 上执行,需要设置模式为 a[i],如果在 B 上执行,需要模式为 b[i]。任务可以以任意顺序被执行,但每台机器转换一次模式就要重启一次。求怎样分配任务并合理安排顺序,能使机器重启次数最少。输入格

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

有两台机器 A,B 以及 K 个任务。

机器 A 有 N 种不同的模式(模式 0∼N−1),机器 B 有 M 种不同的模式(模式 0∼M−1)。

两台机器最开始都处于模式 0。

每个任务既可以在 A 上执行,也可以在 B 上执行。

对于每个任务 i,给定两个整数 a[i] 和 b[i],表示如果该任务在 A 上执行,需要设置模式为 a[i],如果在 B 上执行,需要模式为 b[i]。

任务可以以任意顺序被执行,但每台机器转换一次模式就要重启一次。

求怎样分配任务并合理安排顺序,能使机器重启次数最少。

输入格式
输入包含多组测试数据。

每组数据第一行包含三个整数 N,M,K。

接下来 K 行,每行三个整数 i,a[i] 和 b[i],i 为任务编号,从 0 开始。

当输入一行为 0 时,表示输入终止。

输出格式
每组数据输出一个整数,表示所需的机器最少重启次数,每个结果占一行。

数据范围
N,M<100,K<1000
0≤a[i]<N
0≤b[i]<M

输入样例:
5 5 10
0 1 1
1 1 2
2 1 3
3 1 4
4 2 1
5 2 2
6 2 3
7 2 4
8 3 3
9 4 3
0
输出样例:
3
#include<bits/stdc++.h>
using namespace std;
const int N = 1e2 + 10;
const int M = 2e3 + 10;
struct Edge{ 
   
    int v,next;
}edge[M];
int head[N],cnt;
void add(int u,int v){ 
   
    edge[cnt].v = v;
    edge[cnt].next = head[u];
    head[u] = cnt ++;
}
int match[N],vis[N];
int res = 0;
bool Find(int x){ 
   
    for(int i = head[x];~i;i = edge[i].next){ 
   
        int v = edge[i].v;
        if(match[v] == x ||  vis[v])continue;
        vis[v] = true;
        if(match[v] == 0 || Find(match[v])){ 
   
            match[v] = x;
            return true;
        }
    }
    return false;
}
int main(){ 
   
    int n,m,k;
    int x,y,id;
    while(cin>>n,n){ 
   
        cin>>m>>k;
        memset(match,0,sizeof match);
        memset(head,-1,sizeof head);
        cnt = 0;
        for(int i = 0;i < k;i ++){ 
   
            cin>>id>>x>>y;
            if(!x || !y)continue;
            add(x,y);
        }
        res = 0;
        for(int i = 1;i < n;i ++){ 
   
            memset(vis,0,sizeof vis);
            if(Find(i))res ++;
        }
        cout<<res<<endl;
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168610.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月9日 下午1:16
下一篇 2022年8月9日 下午1:16


相关推荐

  • 中智集;隶属度函数

    中智集;隶属度函数中智集 nbsp 1 中智集的由来先看一个例子引入 对于每个 x U A x 或简记为 A x 叫做元素 x 对模糊集 A 隶属度 模糊集 隶属度函数比如 一个人 25 岁 隶属于年轻这个模糊集的程度为 0 7 直觉模糊集 隶属度函数 非隶属度函数比如 一个人 25 岁 隶属于年轻这个模糊集的程度度为 0 7 不隶属于年轻这个模糊集的程度为 0 3 中智集 隶属度函数 不确定函数 非隶属度函数比如 一个人 25 岁 隶属于年轻这个模糊集的程度度为 0 7 不隶属于年轻这个模糊集的程度为 0 1

    2026年3月18日
    2
  • 远程调试部署在容器中的springboot项目「建议收藏」

    远程调试部署在容器中的springboot项目「建议收藏」问题:访问网站,会根据ip判断访客所处位置,但部分ip插入数据库失败。 以为是一次小问题,很快就解决了,没想到最终花了6个小时左右,才搞清楚。分析 :1、将本地程序跑起来,发现一切正常,可以插入到数据库。但问题在线上确实妥妥的出现的,而我现在日志级别是info,没有错误日志。所有准备Debug线上程序,之前只debug过使用基本的tomcat发布。而我现在的jar是使用docker构建的镜像,运行的镜像。 2、问题从线上转化到了,我需要远程debug线上程序发现问题,并将之解决。查各种资料,配置

    2022年6月13日
    29
  • Spring源码 – 核心接口BeanPostProcessor[通俗易懂]

    Spring源码 – 核心接口BeanPostProcessor[通俗易懂]Spring源码-核心接口BeanPostProcessor

    2022年8月12日
    8
  • 深入浅出ES6(四):模板字符串

    在上一篇文章中,我说过要写一篇风格迥异的新文章,在了解了迭代器和生成器后,是时候来品味一些不烧脑的简单知识,如果你们觉得太难了,还不快去啃犀牛书!现在,就让我们从最简单的知识学起吧!反撇号(`)基础知识ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(templatestrings)。除了使用反撇号字符`代替普通字符串的引号’或”外,它们看起来与普通

    2022年4月5日
    127
  • java中scanner的作用_Java中的Scanner类有什么作用[通俗易懂]

    java中scanner的作用_Java中的Scanner类有什么作用[通俗易懂]介绍:简单来说,Scanner就是用来获取用户在控制台输入的字符串,也可以获取一个文件中的字符串。java.util.Scanner是Java5的特征,一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。使用方法介绍:1、使用不同的next方法将得到的标记转换为不同类型的值,比如说要从获控制台取一个输入字符串中的int类型的数字,使用nextInt。代码示例:Scanners…

    2022年7月20日
    16
  • 华三交换机配置vrrp_h3c vrrp配置实例

    华三交换机配置vrrp_h3c vrrp配置实例1 组网需求如图所示 在承担网关功能的 SwitchA 和 SwitchB 上分别配置组号相同的 VRRP 备份组 用户 IPv4 网络中的主机将 VRRP 备份组作为缺省网关 要求满足如下需求 SwitchA 是 VRRP 备份组中的 Master 设备 用户网络的主机在正常情况下优先从 SwitchA 访问外网 当 SwitchA 故障时 SwitchB 能够迅速成为 Master 设备 承担转发任务

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号