uva 1613——K-Graph Oddity

题意:输入n个点m条边的联通图,n为奇数,设k为最小的奇数,使得每个点的度数不超过k,要求把节点都涂上颜色,使得相邻节点颜色不一样。


思路:dfs。k的值为奇数,所以k为节点最大度数(+1)。从当前节点往下找,如果下边的节点没有染色,就把当前节点染色继续下找。

code:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <sstream>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <bitset>using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;const int INF=0x3fffffff;
const int inf=-INF;
const int N=10005;
const int M=2005;
const int mod=1000000007;
const double pi=acos(-1.0);#define cls(x,c) memset(x,c,sizeof(x))
#define cpy(x,a) memcpy(x,a,sizeof(a))
#define fr(i,s,n) for (int i=s;i<=n;i++)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define lrt  rt<<1
#define rrt  rt<<1|1
#define middle int m=(r+l)>>1
#define lowbit(x) (x&-x)
#define pii pair<int,int>
#define mk make_pair
#define IN freopen("in.txt","r",stdin);
#define OUT freopen("out.txt","w",stdout);int s[N],vis[N];
vector<int>g[N];
int k,n,m;void dfs(int u)
{cls(vis,0);vector<int>ne;for (int i=0;i<g[u].size();++i){int v=g[u][i];if (s[v]) vis[s[v]]=1;else ne.push_back(v);}for (int i=1;i<=k;i++){if (!vis[i]) {s[u]=i;break;}}for (int i=0;i<ne.size();i++){if (!s[ne[i]]) dfs(ne[i]);}
}
int main()
{int a,b,ca=0;while (~scanf("%d %d",&n,&m)){if (ca++) puts("");for (int i=0;i<n;i++) g[i].clear();for (int i=0;i<m;i++){scanf("%d %d",&a,&b);g[a-1].push_back(b-1);g[b-1].push_back(a-1);}cls(s,0);k=-1;for (int i=0;i<n;i++) k=max(k,(int)g[i].size());if (k%2==0) k++;printf("%d\n",k);dfs(0);for (int i=0;i<n;i++) printf("%d\n",s[i]);}
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应用ADO.net得到表

----------------------------------------------------------开发者&#xff1a;开发时间&#xff1a;2004.9.9功能&#xff1a;应用ADO.net得到表----------------------------------------------------------Imports Zy_DataAccessImports SystemImports System.DataImports…

uva 11093——Just Finish it up

题意&#xff1a;环形跑道上有n个加油站&#xff0c;每个站可以加pi单位的油&#xff0c;从当前站开到下一站需要qi的油&#xff0c;问是否能够环游一圈。 思路&#xff1a;枚举。首先如果总需求量>总供给量&#xff0c;那么不可能。否则就枚举起点&#xff0c;如果油箱里的…

【计算机网络】TCP IP通信处理过程

1.数据包首部 每个分层中都会对所发送的数据附加一个首部&#xff0c;其中包含了该层必要的信息&#xff0c;如发送端地址、接收端地址以及协议等相关信息。 2.发送数据包 1&#xff09;应用程序处理 进行编码处理&#xff08;相当于表示层功能&#xff09;&#xff0c;管…

感觉自己越来越浮躁

重新审视自己的技术走向&#xff0c;不得不承认&#xff0c;越来越向上层迈进。但是这不是我喜欢的&#xff0c;一味的追求快速开发&#xff0c;希望自己的开发速度能一个人顶10个人&#xff0c;但是往往容易在项目中迷失自己&#xff0c;很希望能快点结束这段噩梦般的项目&…

uva 12627——Erratic Expansion

题意&#xff1a;一开始有1个红气球&#xff0c;每小时一个红气球都会变成3个红气球和1个蓝气球&#xff0c;1个蓝气球会变成4个蓝气球&#xff0c;问k个小时后a行到b行的红气球的数量。 思路&#xff1a;递推。a为偶数时&#xff0c;计算a1到b以及a本行的红气球数。b为奇数时&…

【计算机网络】数据链路相关技术

1.MAC地址 MAC地址长48字节。在使用网卡的情况下&#xff0c;一般会将MAC地址烧入到ROM中&#xff0c;任何一个网卡的MAC地址都是唯一的。例如 00:10:5A:70:33:61 MAC地址的3~24位表示厂商识别码&#xff0c;每个NIC厂商都有特定唯一的识别数字。25~48位是厂商内部为识别每个…

uva 714——Copying Books

题意&#xff1a;把一个m个整数的序列划分成k个连续非空的子序列&#xff0c;使得子序列和的最大值最小。 思路&#xff1a;二分。遇到最大值最小大多都二分了&#xff0c;让划分的子序列都不超过x&#xff0c;根据x来judge最终结果k个是多还是少&#xff0c;然后二分来调整x直…

[JavaScript]让footer总是停留在页面的底部(footer all the way at the bottom of the page)

在网页的底部总是保留着公司的版本信息&#xff0c;如何是这部分信息来实现呢&#xff1f;下面的一段javascript演示了如何让footer总是停留在页面的底部。这段代码我在实际使用的时候不是特别的完美&#xff0c;在包含有其他javascript控制的页面和控件的时候会出现重叠的现象…

【计算机网络】IP地址

IP地址的基础知识 在TCP/IP通信中&#xff0c;IP地址用于识别主机和路由器。 1.IP地址的定义 IPv4地址为32位&#xff0c;IPv6地址为128位。&#xff08;以下以IPv4为例&#xff09; 将32位的IP地址分为4组&#xff0c;每组8位&#xff0c;每组间用“.”隔开&#xff0c;再…

uva 1451——Average

题意&#xff1a;给定一个长度为n 的01串&#xff0c;然后选一个长度至少为L的子串&#xff0c;使得子串的平均值最大。 思路&#xff1a;单调队列。如果把所有的前缀和都求出来&#xff0c;那么所求即为max((s[j] - s[i]) / (j - i)) &#xff0c;转化成图也就是求斜率最大的那…

近期工作:帮忙师兄

C# 获取机器硬件状态简单的解释器 C# XML读写转载于:https://www.cnblogs.com/anf/archive/2005/12/14/296880.html

【操作系统】哲学家就餐问题

问题 有五个哲学家围坐在一圆桌旁&#xff0c;桌中央有一盘通心粉&#xff0c;每人面前有一只空盘子&#xff0c;每两人之间放一只筷子。每个哲学家的行为是思考&#xff0c;感到饥饿&#xff0c;然后吃通心粉。为了吃通心粉&#xff0c;每个哲学家必须拿到两只筷子&#xff0…

uva 11134——Fabled Rooks

题意&#xff1a;给定一个n*n的期棋盘放n个车&#xff0c;要求任意车之间不能相互攻击&#xff0c;并且每个车都在相应的方框内。 思路&#xff1a;贪心。因为没有对角线的条件约束&#xff0c;所以放的行号和列号没有影响。那么单独求出来行号和列号即可。对于每一行&#xff…

VC.NET 字节对齐设置

项目&#xff0d;>属性->C/C->代码生成->结构成员对齐 转载于:https://www.cnblogs.com/smartstone/archive/2005/12/14/296909.html

java 设计作业——学生类的基本练习

设计要求&#xff1a; 建立一个学生类&#xff0c;有姓名、学号、3门课成绩、总分等信息&#xff0c;能输入输出学生数据&#xff0c;并能对总分进行排序&#xff0c;打印名次。思路&#xff1a;老师给的思路全部都封装在了一个类中&#xff0c;我写的则分成了两个类&#xff0…

linux下使用c++操作mysql

关于mysql的基础知识可以参考 mysql基础 首先&#xff0c;需要确保已安装mysql-server&#xff0c;mysql-client&#xff0c;mysql-devel。 一、常用类型介绍 1. MYSQL 用于定义一个mysql对象&#xff0c;便于后续操作确定要操作的数据库是哪一个。 MYSQL mysql; //mysql标…

初来乍到!各位博客朋友多多支持!

本人真名&#xff1a;陈伟峰baiguli的中文是&#xff1a;白骨礼&#xff0c;意思是做人坦白、真诚、有决心、有毅力、以礼待人。自从有了互联网&#xff0c;个人名称就换来换去&#xff0c;曾经用过&#xff1a;闪电行动、闪电&#xff0c;但QQ号始终没变&#xff1a;23771505。…

java数字转换成字符串

各种数字类型转换成字符串型&#xff1a; String s String.valueOf( value); // 其中 value 为任意一种数字类型。 字符串型转换成各种数字类型&#xff1a; String s "169"; byte b Byte.parseByte( s ); short t Short.parseShort( s ); int i Integer.parseI…

天空的颜色和大气散射

天空的颜色采用"A Practical Analytic Model for Daylight"建造的模型计算。地形颜色的大气散射采用"Rendering Outdoor Lght Scattering in real Time"介绍的方法计算。A Practical Analytic Model for Daylight中的模型通过太阳的方位&#xff0c;Zenith…

hexo本地博客的转移

1. 复制配置文件 将原来的配置文件进行备份&#xff0c;只需要将文件夹 source、themes和配置文件_config.yml备份即可。 2. 安装Node.js sudo apt-get install nodejs sudo apt-get install npm 3. 安装hexo sudo npm install -g hexo 4. 新建文件夹&#xff0c;cd进入 …