ZOJ3321

//there is at most one edge between two nodes.

因为这句话的局限性,又要满足环,那么一定是每个点度为2,然后为n节点的一个环

//#include <bits/stdc++.h>
#include<cstdio>
#include<string.h>
#include<algorithm>
using namespace std;
typedef long long LL; //there is at most one edge between two nodes. const int N=20;
int ma[N][N],n,m,out[N];
bool flag,vis[N]; void DFS(int u,int num)
{
if(flag)
return;
for(int i=1;i<=n;i++)
{
if(ma[u][i]&&num==n&&i==1)
{
flag=true;
return;
}
if(ma[u][i]&&!vis[i])
{
vis[i]=true;
DFS(i,num+1);
}
}
} int main()
{
while(~scanf("%d%d",&n,&m))
{
int u,v;
memset(ma,0,sizeof(ma));
memset(out,0,sizeof(out));
while(m--)
{
scanf("%d%d",&u,&v);
ma[u][v]=ma[v][u]=1;
out[u]++;
out[v]++;
}
bool ff=true;
for(int i=1;i<=n;i++)
{
if(out[i]!=2)
{
ff=false;
break;
}
}
if(!ff)
{
puts("NO");
continue;
}
memset(vis,false,sizeof(vis));
flag=false;
vis[1]=true;
DFS(1,1);
if(flag)
puts("YES");
else
puts("NO");
}
return 0;
}

ZOJ3317

题意:

租的人,房子数量。

n行进入时间,出去时间。

每次进入有房间则给一个房间,按房间编号从小到大租出。

求每个进入的人的房间号。

思路:

离线处理。

先把每个人按照进入时间排序,每次从小到大枚举m个房间有没有人居住。

//#include <bits/stdc++.h>
#include<cstdio>
#include<string.h>
#include<algorithm>
using namespace std;
typedef long long LL; const int N=1e2+10;
struct asd{
int u,v;
int id;
};
asd q[N];
int n,m,ans[N]; bool cmp(asd x,asd y)
{
if(x.u==y.u)
return x.id<y.id;
return x.u<y.u;
} int main()
{
while(~scanf("%d%d",&n,&m))
{
if(!n&&!m) break;
int u,v;
bool flag;
for(int i=1;i<=n;i++)
{
scanf("%d%d",&u,&v);
q[i].id=i;
q[i].u=u;
q[i].v=v;
}
sort(q+1,q+n+1,cmp);
memset(ans,0,sizeof(ans));
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
flag=true;
for(int k=1;k<i;k++){
if(ans[q[k].id]==j && q[k].v>q[i].u){
flag=false;break;
}
}
if(flag)
{
ans[q[i].id]=j;
break;
} }
}
for(int i=1;i<=n;i++)
printf("%d\n",ans[i]);
}
return 0;
}

ZOJ3321,ZOJ3317的更多相关文章

  1. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  2. MPlayer

    名称   mplayer − 电影播放器 mencoder − 电影编解码器 概要   mplayer [选项] [文件|URL|播放列表|−] mplayer [选项] 文件1 [指定选项] [文件 ...

  3. python 爬取腾讯微博并生成词云

    本文以延参法师的腾讯微博为例进行爬取并分析 ,话不多说 直接附上源代码.其中有比较详细的注释. 需要用到的包有 BeautifulSoup WordCloud jieba # coding:utf-8 ...

  4. 面经 cisco

    1. 优先级反转问题及解决方法 (1)什么是优先级反转 简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优先级搞反了.那在什么情况下会生这种情况呢? 假设三个任务准备执行,A,B,C,优 ...

  5. linux驱动(续)

    网络通信 --> IO多路复用之select.poll.epoll详解 IO多路复用之select.poll.epoll详解      目前支持I/O多路复用的系统调用有 select,psel ...

  6. HttpServletRequest对象(一)

    javaweb学习总结(十)——HttpServletRequest对象(一) 一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HT ...

  7. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  8. 先说IEnumerable,我们每天用的foreach你真的懂它吗?

    我们先思考几个问题: 为什么在foreach中不能修改item的值? 要实现foreach需要满足什么条件? 为什么Linq to Object中要返回IEnumerable? 接下来,先开始我们的正 ...

  9. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

随机推荐

  1. 在zend framework框架中try{}catch(Exception e){}的跳转问题

    请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1 首先我先说明我遇到的问题 try{ //导入学生信息 $ModelStudent->insert($dat ...

  2. (转) 实现wince datagrid 上下滑屏数据浏览

    开发 基于wince 手持设备数据库应用时 由于是触摸屏 当datagrid 数据过多 往往用户烦于去控制又窄又细的上下滚动条 尤其是高分辨率的屏上 (如魅族M8系统 720×480) 而且datag ...

  3. ffmpeg ffplay播放延时大问题:播放延时参数设置

    使用ffplay播放视频源时,rtsp/rtmp等,会有一定的延时,这里我们可以通过设置ffplay播放参数将延时控制到最小. ffplay.exe -i rtmp://xxxxxxx -fflags ...

  4. easyui Combotree 怎么加载数据 支持多选

    1.开发环境vs2012 mvc4  c# 2.HTML前端代码 <%@ Page Language="C#" AutoEventWireup="true" ...

  5. python2&python3的区别

    区别1. python3中>>>range<3,6>range<3,6> python2中>>>range<3,6>[3,4,5 ...

  6. mongodb学习之:GridFS

    GridFS是一种在Mongodb中存储大二进制文件的机制.GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频.视频等). 使用GridFS有如下几个原因: 1 利用 ...

  7. HackerRank leonardo-and-lucky-numbers —— 模线性方程的通解

    题目链接:https://vjudge.net/problem/HackerRank-leonardo-and-lucky-numbers 题解: 1.根据扩展欧几里得:7*x + 4*y = gcd ...

  8. linux应用之用户管理相关命令

    1. useradd useradd 命令可以创建一个新的用户帐号,其最基本用法为: useradd 用户名 如输入以下命令: useradd newuser 系统将创建一个新用户 newuser,该 ...

  9. Spring MVC 注解json 配置

    1.首先在pom.xml中添加依赖jar包 <dependency>        <groupId>org.codehaus.jackson</groupId>  ...

  10. java.io.FileNotFoundException:/mnt/sdcard/......(Permission denied)

    今天在实现下载模块的时候,从服务器下载apk安装的时候总是不成功. 打开LogCat查看日志,发现在访问sdcard的时候出现Permission denied的情况. 百度之后发现原因是没有添加权限 ...