archwing任务流程_机器的武器任务流程

archwing任务流程_机器的武器任务流程有两台机器 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/169105.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • UAT SIT QAS DEV PET「建议收藏」

    UAT SIT QAS DEV PET「建议收藏」UAT:UserAcceptanceTesting用户验收测试SIT:SystemIntegrationTesting系统集成测试PET:PerformanceEvaluationTest性能鉴定试验DEV:DevelopmentSystem开发系统QAS:QualityAssurancesystem质量保证体系PRO:professional专…

    2022年6月28日
  • java反射菜鸟教程_Java反射

    java反射菜鸟教程_Java反射JAVA反射机制1定义:主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接。但是反射使用不当会成本很高!2.作用A:反编译:.class–>.javaB:通过反射机制访问java对象的属性…

    2022年5月21日
  • ov7725摄像头人脸识别_ov7725摄像头

    ov7725摄像头人脸识别_ov7725摄像头OV7725摄像头软件实现简单的二值化处理项目使用的摄像头型号:​ 正点原子OV7725摄像头模块,带FIFO的摄像头模块。图像二值化化的个人见解:​ 常见的图片格式:​ 黑白图片、灰度图片、彩色图片。不同的图片的格式类型主要的不同点在每个像素点需要几位的二位数来表示。黑白图片每个像素不是0就是1,0代表黑颜色,1代表白颜色。灰度图像每个像素需要一个字节表示(8位二进制)每个像素可以量化…

    2022年9月2日
  • AutoEventWireup解释

    AutoEventWireup解释这一事件聚合了当前页是否自动关联某些特殊事件。首先,从浏览器页面出发的事件不能立刻在本地得到处理,而是POST至服务器上,因此,asp.net建立了委托(代理)机制。在建立一个事件的同事,建立相应的委托。privatevoidInitializeComponent(){<spanstyle=”white-space:pre”> </span>t…

    2022年5月8日
  • 风口与泡沫中的寻路革命 —互联网医疗行业投资大数据

    风口与泡沫中的寻路革命 —互联网医疗行业投资大数据

    2022年3月4日

发表回复

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

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