HDU5971【瞎搞】

题意:略(忙着准备文化课。。。明天期中考啊。。。。

思路:

正解就是染色,2-sat搞;


AC代码(虽然是错误的。。。数据水(过踏马的也行啊,起码打脸他啊!)

4 3 1 0

1 2

2 3

3 4

4

这个就挂了;

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int MAX=1010;
const double q=(1+sqrt(5.0))/2.0;
const double eps=1e-100;
int n,m;
int v[MAX];
int a[MAX][MAX];
int main()
{int t,i,j;int x,y;while(~scanf("%d%d%d%d",&n,&m,&x,&y)){int flag=0;int b,c;memset(a,0,sizeof(a));memset(v,-1,sizeof(v));for(i=0;i<m;i++){scanf("%d%d",&b,&c);a[b][c]=a[c][b]=1;}for(i=1;i<=x;i++){scanf("%d",&b);for(j=0;j<n;j++){if(a[b][j]){if(v[j]==1)flag=1;v[j]=0;}}v[b]=1;}for(i=1;i<=y;i++){scanf("%d",&b);for(j=0;j<n;j++){if(a[b][j]){if(v[j]==0)flag=1;v[j]=1;}}v[b]=0;}for(i=1;i<=n;i++){for(j=1;j<=n;j++){if(a[i][j]){if(v[i]==-1&&v[j]==-1){v[i]=1;v[j]=0;}else if(v[i]!=-1&&v[j]!=-1){if(v[i]+v[j]!=1)flag=1;}else if(v[i]!=-1){v[j]=1-v[i];}elsev[i]=1-v[j];}}}for(i=1;i<=n;i++){
//            printf("%d ",v[i]);if(v[i]==-1)flag=1;}
//        puts("");if(flag)printf("NO\n");elseprintf("YES\n");}return 0;
}

贴份应该正确的(escape

#include<bits/stdc++.h>
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
typedef pair<int,int> pll;
const int N=5*1e4+1000;
#define eps 1e-4
int co[10005];
int vis[10005];
vector<int>g[10005];
int dfs(int u)
{int sz=g[u].size();for(int i=0; i<sz; i++){int v=g[u][i];if(!co[v]){co[v]=!co[u];if(!dfs(v))return 0;}else if(co[u]==co[v]){return 0;}}return 1;
}
int main()
{int n,m,x,y;while(cin>>n>>m>>x>>y){for(int i=0; i<10005; i++)g[i].clear();if(n==1){puts("NO");continue;}for(int i=0; i<m; i++){int xx,yy;scanf("%d%d",&xx,&yy);g[xx].push_back(yy);}memset(co,0,sizeof(co));for(int i=0; i<x; i++){int xx;scanf("%d",&xx);co[xx]=1;
//            int sz=g[xx].size();
//            for(int i=0; i<sz; i++)
//            {
//                int v=g[xx][i];
//                co[v]=!co[xx];
//            }}for(int i=0; i<y; i++){int xx;scanf("%d",&xx);co[xx]=0;
//            int sz=g[xx].size();
//            for(int i=0; i<sz; i++)
//            {
//                int v=g[xx][i];
//                co[v]=!co[xx];
//            }}if(x==0&&y==0)puts("NO");else{int flag=1;for(int i=1; i<=n; i++)if(!dfs(i))flag=0;if(flag)puts("YES");elseputs("NO");}}return 0;
}

加强后的瞎搞(求hack

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int MAX=1010;
const double q=(1+sqrt(5.0))/2.0;
const double eps=1e-100;
int n,m;
int v[MAX];
int a[MAX][MAX];
int main()
{int t,i,j,k;int x,y;while(~scanf("%d%d%d%d",&n,&m,&x,&y)){int flag=0;int b,c;memset(a,0,sizeof(a));memset(v,-1,sizeof(v));for(i=0; i<m; i++){scanf("%d%d",&b,&c);a[b][c]=a[c][b]=1;}for(i=1; i<=x; i++){scanf("%d",&b);for(j=0; j<n; j++){if(a[b][j]){if(v[j]==1)flag=1;v[j]=0;}}v[b]=1;}for(i=1; i<=y; i++){scanf("%d",&b);for(j=0; j<n; j++){if(a[b][j]){if(v[j]==0)flag=1;v[j]=1;}}v[b]=0;}for(k=0; k<2; k++){for(i=1; i<=n; i++){for(j=1; j<=n; j++){if(a[i][j]){if(v[i]==-1&&v[j]==-1&&k){v[i]=1;v[j]=0;}else if(v[i]!=-1&&v[j]!=-1){if(v[i]+v[j]!=1)flag=1;}else if(v[i]!=-1){v[j]=1-v[i];}else if(v[j]!=-1)v[i]=1-v[j];}}}}for(i=1; i<=n; i++){
//            printf("%d ",v[i]);if(v[i]==-1)flag=1;}
//        puts("");if(flag)printf("NO\n");elseprintf("YES\n");}return 0;
}
/*
6 5 0 0
1 2
2 3
3 4
3 1
5 66 5 0 0
1 2
2 3
3 4
4 1
5 64 3 1 0
1 2
2 3
3 4
4*/



转载于:https://www.cnblogs.com/keyboarder-zsq/p/6216749.html

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

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

相关文章

性能测试oracle瓶颈定位,性能测试中如何定位性能瓶颈

性能测试的概念是什么&#xff0c;基本目的是什么&#xff0c;我想大家都基本清楚&#xff0c;不作详述&#xff0c;总之&#xff0c;性能测试只是测试过程中的一种方式&#xff0c;帮助我们的功能更好的运行&#xff0c;如果功能测试是可用&#xff0c;易用&#xff0c;满足需…

Java GridBagLayout 简单使用

这里只介绍了很基础布局构建及使用&#xff0c;主要是关于 GridBagLayout. 首先整套流程大概是&#xff0c; 声明一个 GridBagLayout 对象 private GridBagLayout gridBagLayoutFrame new GridBagLayout(); 然后把当前类的容器布局管理器设置为 GridBagLayout this.setLayout(…

oracle数据库存储ip地址,oracle – 以十进制形式存储的IP地址 – PL / SQL以虚线四边形显示...

这是您需要的功能&#xff1a;create or replacefunction inttoip(ip_address integer) return varchar2deterministicisbeginreturn to_char(mod(trunc(ip_address/256/256/256),256))||.||to_char(mod(trunc(ip_address/256/256),256))||.||to_char(mod(trunc(ip_address/256…

Angular之简单的登录注册

使用Angular实现了一个简单的登录注册的功能........ 涉及到的Angular知识点很少 主要是这个功能的实现...(*^__^*) 嘻嘻…… 里面涉及到的知识点记录: 1.本地存储的操作 localStorage 获取本地存储的值 window.localStorage.getItem(key)-->value (得到的数据是字符串&qu…

Linux命令行调用动态库,Linux动态链接库的使用

动态链接库与普通的程序相比而言&#xff0c;没有main函数&#xff0c;是一系列函数的实现。通过shared和fPIC编译参数生产so动态链接库文件。程序在调用库函数时&#xff0c;只需要连接上这个库即可。例如下面实现一个简单的整数四则运输的动态链接库&#xff0c;定义的cacula…

Linux用户、用户组、文件权限设置

最近打算更仔细学习一下linux操作系统。先是恶补了一下用户、用户组、文件权限这三样比较重要的知识。(我也正在学Linux&#xff0c;所以就找到这篇日志了&#xff0c;有些设置修改后需要重启系统后才能生效。)学习这几样东西&#xff0c;得先掌握linux的权限系统相关知识。lin…

linux系统ip访问53端口,linux – 使用公共IP地址无法访问本地端口

我有一个linux服务器,它有公共IP和私有IP.因此,当我使用公共IP登录时,终端直接显示私有IP.例&#xff1a;$ssh root55.27.XX.XXroots password:root10.1.4.20:~$hostname -I10.1.4.20root10.1.4.20:~$wget -qO- http://ipecho.net/plain ; echo55.27.xx.xx现在,我安装了Nginx,我…

微信扫码下载iosAPP

1.首先在应用宝上传你的安卓APP应用&#xff0c;AppStore已经有了APP 2.进入应用宝app应用管理中心&#xff0c;点击“微下载”&#xff0c;然后里面的微下载链接地址就可以用了&#xff0c;可以看到ios可以通过应用宝再跳到AppStore就可以实现下载了转载于:https://www.cnblog…

linux当前时间到1970年秒数,计算从1970年到当前时间所经历过的秒数

这个算法来自LINUX的源码&#xff0c;下面带有大神的解析&#xff0c;自己在RTC实验中也使用了&#xff0c;不用月份表&#xff0c;润平年的处理&#xff0c;几行就可得出结果&#xff0c;以下是程序和大神的解析Linux源码中的mktime算法解析我们知道&#xff0c;从CMOS中读出来…

脱水缩合(大搜索)

脱水缩合 (merge.c/cpp/pas) 【题目描述】 fqk 退役后开始补习文化课啦&#xff0c; 于是他打开了生物必修一开始复习蛋白质&#xff0c;他回想起了氨基酸通过脱水缩合生成肽键&#xff0c;具体来说&#xff0c;一个氨基和一个羧基会脱去一个水变成一个肽键。于是他脑洞大开&am…

ubuntu16.04下安装NS-2.35以及对simple例的理解

本人是在VMWare上安装的ubuntu16.04版本&#xff0c;然后安装NS2.35. 1.下载ns2的安装包&#xff0c;这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包&#xff0c;all in one 安装包包含所有的组件&#xff0c;比较方便&#xff0c;另附下载地址&#xff1a;…

linux查看登录服务器的ip历史记录,通过登陆IP记录Linux所有用户登录所操作日志的方法...

对于Linux用户操作记录一般通过命令history来查看历史记录&#xff0c;但是如果在由于误操作而删除了重要的数据的情况下&#xff0c;history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢&#xff1f;其实我们可以通过登陆IP地址来记录所有用户登录所操…

linux 向程序发送信号,Linux下的信号处理

Linux下的信号处理发布时间:2006-01-02 09:34:14来源:红联作者:reing前言&#xff1a;这一章我们讨论一下Linux下的信号处理函数。Linux下的信号处理函数&#xff1a;信号的产生信号的处理其它信号函数一个实例1.信号的产生Linux下的信号可以类比于DOS下的INT或者是Windows下的…

思科模拟器:[1]安装及汉化详解

思科模拟器是网络工程师经常使用的网络实验模拟软件&#xff0c;它可以很快捷的模拟网络中的各种设备(交换机、路由器、台式电脑、笔记本电脑、服务器、网络云)&#xff0c;搭建各种网络环境&#xff0c;模拟网络拓扑结构等。下面天使图文教程&#xff0c;告诉大家怎么安装这个…

linux中的加法函数,上下文管理练习(为加法函数计时)

上下文管理(为加法函数计时)为加法函数计时使用装饰器显示该函数的执行时长使用上下文管理显示该函数的执行时长装饰器实现import timeimport datetimefrom functools import wrapsdef logger(fn):wraps(fn) # wraps(fn)(wrapper)def wrapper(*args, **kw):start datetime.dat…

07数组与接口

1、运行TextInherists.java 示例&#xff0c;观察输出&#xff0c;注意总结父类与子类之间构造方法的的调用关系&#xff0c;修改parent构造方法的代码&#xff0c;显式调用grandparent另一个构造函数。 源代码&#xff1a; class GrandParent{ public GrandParent(){ System.o…

windows 访问linux中的mongodb,MongoDB的linux系统下的安装与连接

一 安装MongoDB的服务下载Linux系统下的MongoDB安装包上传压缩包到linux服务器中&#xff0c;解压到对应的安装目录下mkdir /usr/local/mongodbtar -zxvf mongodb-linux-x86_64-4.0.10.tgzmv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb新建目录&#xff0c;分别用来存储数…

像阿超那样,花20分钟写一个能自动生成小心四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算。 和同学们比较一下各自程序的功能,实现方法的异同,等等...

package chapter;public class szys { public static void main(String[] args) { print30Questions(); } private static void print30Questions() { //说明&#xff1a;打印30道题函数&#xff0c;把接收到的题目字符串按照指定格式输出。…

linux sqlserver 管理工具,Linux连接SqlServer的图形化工具SQuirrel

SQuirrel SQL一款基于java的数据库管理工具。所以可以运行在任意平台上&#xff0c;除了界面丑一点。在windows上我绝对不会选的&#xff0c;navicat多好。安装下载地址&#xff1a;https://sourceforge.net/projects/squirrel-sql/?sourcetyp_redirect在控制台运行&#xff1…

【转】C++怎么读写windows剪贴板的内容?比如说自动把一个字符串复制.

// 复制数据至剪切板BOOL CopyToClipboard(const char* pszData, const int nDataLen){ if(::OpenClipboard(NULL)) { ::EmptyClipboard(); HGLOBAL clipbuffer; char *buffer; clipbuffer ::GlobalAlloc(GMEM_DDESHARE, nDataLen1); …