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 ...
随机推荐
- CrackMe005-下篇 | 逆向破解分析 | 160个CrackMe(视频+图文)深度解析系列
作者:逆向驿站微信公众号:逆向驿站知乎:逆向驿站 CrackMe005,上篇说了具体方法,下篇来发逆向分析过程,看看老夫是如何得到上篇的具体方法的! 准备 [环境和工具] win7/xp虚拟机环境 C ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(3)
继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装:kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)kvm虚拟化管理平台WebVirtMgr部署-完 ...
- 移动app rem
(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? ...
- linux内核分析ELF文件分析实践报告
- linux第三次实践:ELF文件格式分析
linux第三次实践:ELF文件格式分析 标签(空格分隔): 20135328陈都 一.概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文 ...
- win10装MySQL5.7
越来越发现装MySQL很费劲啊,装了N次,都很懵逼,找对的解决方案很重要. Mysql5.7下载地址:http://xiazai.zol.com.cn/detail/4/33431.shtml 安装步 ...
- 20150421 作业5 四则运算 测试与封装 5.1 5.2(doing)
结伴队友:王佳寧,他的博客地址:http://www.cnblogs.com/paopaotai/ 5.2 黑白盒測試 測試項目名稱 黑盒測試 測試人員 葉子鵬&王佳寧 測試編號 測試頁面 測 ...
- Notepad++和Sublime单词首字符大小写转化问题
- HTTP协议整理
一.概念 1.HTTP协议:即超文本传输协议(Hypertext transfer protocol).是一种详细规定了浏览器和Web服务器之间互相通信的规则,它允许将超文本标记语言(HTML)文档从 ...
- TF版本的Word2Vec和余弦相似度的计算
前几天一个同学在看一段代码,内容是使用gensim包提供的Word2Vec方法训练得到词向量,里面有几个变量code.count.index.point看不懂,就向我求助,我大概给他讲了下code是哈 ...