poj 1129 Channel Allocation

Win10管理员权限的‘暗门’:从mmc.exe被阻止,聊聊UAC与自动提权那些事儿 本文深入解析Windows 10中UAC(用户账户控制)与自动提权机制,探讨mmc.exe被阻止的深层原因及解决方案。从UAC工作原理到自动提权机制,再到具体诊断与修复步骤,帮助用户理解并解决权限管理问题,同时平衡安全性与便利性。 阅读详情
题目链接:

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=98233#problem/G

题目大意:

平面内最多26个点,给出一些点与点之间的是否相连,问最少使用多少颜色才能给这些点染色,并保证相邻点之间不同色。根据图的四色定理,最多四种颜色就能满足题意。

分析:

其实用不着用dfs的,用两层循环就能搞定,从数组下标0到数组下标n-1代表每个点,遍历每个点,对其进行1~4的颜色选择,每次选择后与相邻点进行比较判断,如果有颜色相同,就不能选这个颜色,换一个颜色,如果符合,进行下一次循环。每次点的颜色选择从1开始。最后选出颜色数组中最大的值即为最少使用的颜色。

QAQ被这道题坑惨了,没注意到输出格式中的单复数形式,一个WrongAnswer。以为自己想错了,去网上一搜一片的DFS,心里拔凉拔凉的,完全不造错哪了。最后实在想不出来去看了一下别人的代码,DFS也是找到就退出递归就可以输出了,最后才反应过来是输出的问题。

代码:
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;
int map[30][30];
int mark[30];
int n;
bool judge(int pos,int color)
{
    for (int i = 0; i < n; i++)
    {
        if (map[pos][i])
        {
            if (mark[i] == color)
            {
                return false;
            }
        }
    }
    return true;
}

int main()
{

    while (scanf("%d", &n) != EOF && n)
    {
        memset(map,0,sizeof(map));
        memset(mark,0,sizeof(mark));
        char str[35];
        for (int i = 0; i<n; i++)
        {
            scanf("%s", str);
            int len = strlen(str);
            for (int j = 2; j<len; j++)
            {
                map[i][str[j] - 'A'] = 1;
                map[str[j] - 'A'][i] = 1;
            }
        }
        for (int i = 0; i <n ; i++)
        {
            for (int color = 1; color <= 4; color++)
            {
                mark[i] = color;
                if (judge(i, color))
                {
                    break;
                }
            }
        }
        int* min = (int*)max_element(mark, mark + n);
        if (*min == 1)
        {
            printf("%d channel needed.\n",*min);
        }
        else
        {
            printf("%d channels needed.\n",*min);
        }
    }
    return 0;
}
VMware16虚拟机:下载和安装教程 VMware16 虚拟机 下载和安装教程 阅读详情

相关推荐

基于51单片机的多功能计算器全套设计

当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且人脑比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算器设计开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。 本设计是以STC89C52单片机为核心的计算器模拟系统设计,输入采用5×8矩阵键盘,可以进行加、减、乘、除等十几种数字运算,同时支持括号

runweipa的博客 1742

Channel Allocation

Channel Allocation

m0_66086846的博客 296

WinCC与施耐德PLC的Modbus TCP通信实战指南

本文详细解析了西门子WinCC与施耐德PLC通过Modbus TCP协议实现通信的完整实战流程。内容涵盖硬件网络配置、Modbus地址映射核心规则、WinCC驱动连接建立、变量创建及高级数据访问技巧,并提供了常见故障排查思路,帮助工程师高效解决跨品牌设备通信难题。

weixin_29194693的博客 1000

2.10(Channel Allocation)

http://noi.openjudge.cn/ch0205/131/ 描述 When a radio station is broadcasting over a very large area, repeaters are used to retransmit the signal so that every receiver has a strong signal. However, the channels used by each repeater must be carefully chos

weixin_44746864的博客 243

腾讯云TDSQL MySQL版 - 开发指南兼容性

语言结构 分布式实例支持所有 MySQL 使用的文字格式,包括: String Literals Numeric Literals Date and Time Literals Hexadecimal Literals Bit-Value Literals Boolean Literals NULL Values String Literals String Literals 是一个 bytes 或者 characters 的序列,两端被单引号'或者双引号"包围,TDSQL MySQL版

weixin_43872058的博客 909

C语言设计模式全面解析:从理论到28个实战示例

本文系统介绍了23种经典设计模式在C语言中的实现方法。通过结构体、函数指针等技巧,C语言可以优雅地模拟面向对象特性,实现代码复用与解耦。文章分类详解了创建型、结构型、行为型三大类模式,并提供了28个完整代码示例,包括单例、策略、观察者等核心模式的精简实现。这些模式在嵌入式系统、操作系统内核等场景中广泛应用,如状态机、事件驱动等。学习C语言设计模式的关键在于理解模式意图,掌握函数指针和结构体组合等技巧,并在实际项目中灵活运用。本文为C语言开发者提供了全面的设计模式参考指南。

数字人生 363

Channel Allocation (深搜)

Channel Allocation Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other) Total Submission(s) : 13   Accepted Submission(s) : 6 Problem Description When a radio station

sdau20163940的博客 1408

7.6 GPU页表更新机制

本文分析了AMDGPU驱动中BO到VA映射的页表更新实现机制。核心流程通过amdgpu_vm_bo_update()函数触发,支持CPU直接写入和SDMA异步命令两种更新模式。系统根据VRAM可见性自动选择最优更新策略,处理三种主要场景:命令提交、BO迁移和BO销毁。关键实现包括DMA地址数组处理、权限标志合并和BO迁移状态转换,最终通过amdgpu_vm_update_range()完成硬件页表更新。该机制有效平衡了更新延迟与吞吐量,为GPU虚拟内存管理提供基础支撑。

图形/计算GPU的驱动与虚拟化技术分享园地 2463

POJ-1129 Channel Allocation

TP:POJ-1129 这题卡了我一天,看了不少博客,知道这是搜索,而且和四色定理有关,但可能个人比较菜,楞是没有看懂人家大佬们的代码。后来看到有个大佬写的豁然开朗,这题原来也可以直接模拟下来,想了想,写出来一遍直接ac了。写篇博客为同为萌新的朋友提供一些思路。 原文链接附上 饮水思源哈哈。 注:这样写只能应付燃眉之急,长远看来还是得学人家大佬的搜索方法。 输入一行,就判断一下与它相邻的发射台是否...

在原七海的博客 843

华为OD机考双机位C卷 - 风险投资计划(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 风险投资计划(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 547

SAP ABAP 四种传统的数据库视图类型介绍之二:Projection View

一是该 projection view 只暴露了底层 TADIR 表的四个字段,因此通过该 view 维护数据,在维护界面我们只能维护一条记录的四个字段,如下图所示。使用 Projection view 的优点在于其设计灵活性:如果系统中原始的数据库表字段较多,通过投影仅保留关键信息可有效降低从数据库层到应用层之间的数据传输负担,且保持数据的一致性。其二是笔者之前的文章提到,TADIR 是 ABAP 系统重要的对象注册表,如同 window 操作系统的注册表一样,一般的应用开发人员不应该去修改其内容。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1439

迭代加深搜索 POJ 1129 Channel Allocation

POJ 1129 Channel Allocation Time Limit:1000MS Memory Limit:10000K Total Submissions:14191 Accepted:7229 Description When a radio station is broadcasting over a very...

weixin_30670925的博客 107

华为OD技术面真题 - Python开发 - 2

汇总华为OD技术面八股Python八股,高频技术真题并提供详细解答。

qq_45776114的博客 910

poj1129 Channel Allocation

链接:http://poj.org/problem?id=1129 题意:有一堆

u012914220的专栏 621

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

POJ 1129 Channel Allocation

Channel Allocation Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 1129 Description When a radio station is broadcasting ove

皓韵儿 626

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

poj1129 Channel Allocation(染色问题)

题目链接:poj1129 Channel Allocation 题意:要求相邻中继器必须使用不同的频道,求需要使用的频道的最少数目。 题解:就是求图的色数,这里采用求图的色数的近似有效算法——顺序着色算法(实质是一种贪心策略:在给任何一个顶点着色时,采用其邻接顶点中没有使用的,编号最小的颜色)。 注:中继器网络是一个平面图,即图中不存在相交的边。 看讨论后发现这组数据,AC代码没...

weixin_30950237的博客 105

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【POJ 1129】Channel Allocation

【POJ 1129】Channel Allocation暴搜做的 虽然放在了剪枝里。。。 大水题 不过好歹是训练计划第二周最后一题 做个纪念发一贴~(然而只是把上周计划完成了。。直接上代码:#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #define INF 0x3f3f3f3fusing na

ACMer' 1058

POJ-1129 Channel Allocation

题意:给定无向图,对点着色,使得相邻的结点颜色不同。 思路:直接dfs爆搜即可 Sample Input 2 A: B: 4 A:BC B:ACD C:ABD D:BC 4 A:BCD B:ACD C:ABD D:ABC 0 Sample Output 1 channel needed. 3 channels needed. 4 channels ...

badouhu4415的博客 284

POJ 1129 Channel Allocation

题目链接:http://poj.org/problem?id=1129 题目描述: 这题可以看成就是一个涂色问题,给定一个无向图,节点最多为26个,然后给每个节点涂色,相邻的不能涂相同的颜色,其实就可以对每一个节点开始模拟涂色,1号还是,看是否合适即可。 #include #include #include #include using namespace std ; const int

Saber 534

POJ 1129, Channel Allocation

Time Limit: 1000MSMemory Limit: 10000KTotal Submissions: 4872Accepted: 2507 DescriptionWhen a radio station is broadcasting over a very large area, repeaters are used to retransmit the signal so ...

weixin_34293141的博客 288

POJ1129——Channel Allocation

Channel Allocation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12312   Accepted: 6297 Description When a radio station is broadcasting over a very large ar

Alex 1014

POJ-1129-Channel Allocation

Channel Allocation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 14800   Accepted: 7529 Description When a radio station is broadcasting over a very large ar

Ninaye的博客 329

Channel Allocation POJ - 1129 详细题解

Channel Allocation POJ - 1129 When a radio station is broadcasting over a very large area, repeaters are used to retransmit the signal so that every receiver has a strong signal. However, the channels...

zab123的博客 482
上一篇: PAT1098 Insertion or Heap Sort
下一篇: LeetCode148 Sort List
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值