The 2016 ACM-ICPC Asia Beijing Regional Contest E - What a Ridiculous Election
https://vjudge.net/contest/259447#problem/E
bfs,k个限制条件以数组的额外k维呈现。
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define minv 1e-6
#define inf 1e9
#define pi 3.1415926536
#define nl 2.7182818284
const ll mod=1e9+;//
const int maxn=1e5+; int qx[maxn*],qy[maxn*],num[maxn*],step[maxn*],ci[maxn],c[]={,,,,},d[];
bool vis[maxn][][]; int main()
{
int head,tail,i,j,s,x,y,ss,bu;
head=,tail=;
for (i=;i<1e5;i++)
ci[i]=inf;
qx[]=,qy[]=,num[]=,step[]=,ci[]=,vis[][][]=;
while (head<tail)
{
head++;
s=num[head];
x=qx[head];
y=qy[head];
bu=step[head]+;
ss=s;
for (i=;i<;i++)
d[i]=ss%,ss/=;
for (i=;i<;i++)
{
j=i+;
ss=s+(c[i]-c[j])*(d[j]-d[i]);
if (!vis[ss][x][y])
{
tail++;
qx[tail]=x;
qy[tail]=y;
num[tail]=ss;
step[tail]=bu;
ci[ss]=min(ci[ss],bu);
vis[ss][x][y]=;
}
}
if (x!=)
for (i=;i<;i++)
{
ss=s+c[i]*(d[i]==?-:);
if (!vis[ss][x-][y])
{
tail++;
qx[tail]=x-;
qy[tail]=y;
num[tail]=ss;
step[tail]=bu;
ci[ss]=min(ci[ss],bu);
vis[ss][x-][y]=;
}
}
if (y!=)
for (i=;i<;i++)
{
ss=s+c[i]*(d[i]*%-d[i]);
if (!vis[ss][x][y-])
{
tail++;
qx[tail]=x;
qy[tail]=y-;
num[tail]=ss;
step[tail]=bu;
ci[ss]=min(ci[ss],bu);
vis[ss][x][y-]=;
}
}
}
while (~scanf("%d",&s))
printf("%d\n",ci[s]==inf?-:ci[s]);
return ;
}
The 2016 ACM-ICPC Asia Beijing Regional Contest E - What a Ridiculous Election的更多相关文章
- 2016 ACM/ICPC Asia Regional Shenyang Online 1003/HDU 5894 数学/组合数/逆元
hannnnah_j’s Biological Test Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K ...
- 2016 ACM/ICPC Asia Regional Qingdao Online 1001/HDU5878 打表二分
I Count Two Three Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- 2016 ACM/ICPC Asia Regional Shenyang Online 1009/HDU 5900 区间dp
QSC and Master Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- 2016 ACM/ICPC Asia Regional Shenyang Online 1007/HDU 5898 数位dp
odd-even number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 2016 ACM/ICPC Asia Regional Dalian Online 1002/HDU 5869
Different GCD Subarray Query Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- 2016 ACM/ICPC Asia Regional Dalian Online 1006 /HDU 5873
Football Games Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- HDU 5874 Friends and Enemies 【构造】 (2016 ACM/ICPC Asia Regional Dalian Online)
Friends and Enemies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- HDU 5889 Barricade 【BFS+最小割 网络流】(2016 ACM/ICPC Asia Regional Qingdao Online)
Barricade Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- HDU 5875 Function 【倍增】 (2016 ACM/ICPC Asia Regional Dalian Online)
Function Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
随机推荐
- [linux] VirtualBox复制虚拟机
环境: Oracle VM VirtualBox 5.0.20 CentOS-6.7-x86_64-minimal.iso 1.复制虚拟机 -->右击休眠状态模板虚拟机,选择复制 -->填 ...
- vue element-ui 动态上传
上传填写完毕的幼儿及体测数据文件,上传成功后会自动导入该文件的数据 <el-upload :action="UploadUrl()" :on-success="Up ...
- 《蹭课神器》Alpha版使用说明
<蹭课神器>是一款方便大学生蹭课的软件,目前实现了查询课表的功能,还没有实现搜索和提醒的功能.有待进一步的开发! 登录之后点击查询操作,查询课表. 课表显示如下
- 接口(interface)与多态
1. 接口(interface)是抽象方法与常量值的集合: 2. 从本质上来讲,接口是一种特殊的抽象类,这种抽象类中只包含常量与方法的定义,而没有变量和方法的实现: 3. 接口中声明的属性默认为:pu ...
- python2 与 python3 实现共存
已有配置 Anaconda2+python2.7 方案一:直接安装官网原生python3.6 1.修改根目录下python.exe ->python3.exe pythonw.exe - ...
- Maven的课堂笔记3
8 仓库管理 仓库可以分为三种:1.本地仓库(本机).2.私服(公司局域网内的maven服务器).3.中央仓库(互联上,例如 struts2官网,或者hibernate官网) 可以根据maven坐标定 ...
- RequestHolder工具类
package com.inspire.ssm.common; import com.inspire.ssm.model.SysUser; import javax.servlet.http.Http ...
- ASP.NET Web Service 标准SOAP开发案例代码(自定义验证安全头SOAPHeader)
using System.Xml;using System.Xml.Serialization;using System.Web.Services.Protocols;using System.Con ...
- SQLSERVER最简单的同名数据库恢复过程.
一. 冷备份恢复 1. net stop mssqlserver # 如果是安装的默认数据库实例 关闭 sqlserver的数据库 2. copy sqlserver的数据文件 主要是mdf 数据文件 ...
- Jquery ajax ajaxStart()和ajaxStop()加载前的优雅表现
Jquery中当一个Ajax请求启动时,并且没有其他未完成的Ajax请求时,将调用ajaxStart()方法.同样,ajaxStop()方法则是在所有Ajax请求都完成时调用.这些方法的参数都是一个函 ...