河南省第五届ACM程序设计大赛
D: 遥 控 器
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
#include<vector>
#include<map>
using namespace std;
typedef unsigned long long LL;
#define met(a,b) (memset(a,b,sizeof(a)))
const int INF = 1e9+;
const int N = ;
const int MOD = ; int a[], s, e; int Slove()
{
int i, Mintime = , shi=e/, ge=e%; if(s>e)
{
if(a[])
Mintime = min(Mintime, -(s-e));
if(a[])
Mintime = min(Mintime, s-e);
}
else if(s<e)
{
if(a[])
Mintime = min(Mintime, e-s);
if(a[])
Mintime = min(Mintime, -(e-s));
}
else
Mintime = ; if(s!=e && !a[] && !a[])
{
if(shi==)
{
if(!a[ge]) Mintime = -;
}
else
{
if(!a[]) Mintime = -;
if(!a[shi]) Mintime = -;
if(!a[ge]) Mintime = -;
}
} for(i=; i<=; i++)
{
if(i==s) continue; int sh = i/, g = i%;
if(sh== && a[g])
{
if(i>e)
{
if(a[]) ///变大
Mintime = min(Mintime, -(i-e)+);
if(a[]) ///变小
Mintime = min(Mintime, (i-e)+);
}
else if(i<e)
{
if(a[])
Mintime = min(Mintime, (e-i)+);
if(a[])
Mintime = min(Mintime, -(e-i)+);
}
else Mintime = min(Mintime, );
}
else if(a[] && a[sh] && a[g])
{
if(i>=e)
{
if(a[])
Mintime = min(Mintime, -(i-e)+);
if(a[])
Mintime = min(Mintime, (i-e)+);
}
else if(i<e)
{
if(a[])
Mintime = min(Mintime, (e-i)+);
if(a[])
Mintime = min(Mintime, -(e-i)+);
}
else Mintime = min(Mintime, );
}
} if(Mintime==)
Mintime = -;
return Mintime;
} int main()
{
int T;
scanf("%d", &T);
while(T--)
{
met(a, ); scanf("%d%d%d%d", &a[], &a[], &a[], &a[]);
scanf("%d%d%d%d", &a[], &a[], &a[], &a[]);
scanf("%d%d%d", &a[], &a[], &a[]);
scanf("%d%d", &a[], &a[]); scanf("%d%d", &s, &e); int ans = Slove(); printf("%d\n", ans);
}
return ;
}
/** */
G: Divideing Jewels (01背包) 代码写的有点丑
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
#include<vector>
#include<map>
using namespace std;
typedef unsigned long long LL;
#define met(a,b) (memset(a,b,sizeof(a)))
const int INF = 1e9+;
const int N = ;
const int MOD = ; int a[], dp[N], v[N], k; void Slove() ///重点就在于怎样的把它转化为01背包
{
int i, j;
k=; for(i=; i<=; i++)
for(j=; j<=a[i]; j++)
v[k++] = i;
k--;
} int main()
{ int iCase=; while(scanf("%d%d%d%d%d%d%d%d%d%d", &a[], &a[], &a[], &a[], &a[], &a[], &a[], &a[], &a[], &a[])!=EOF)
{
int sum=, i, j; for(i=; i<=; i++)
sum += a[i]*i; if(sum==) break; met(dp, );
met(v, ); Slove(); for(i=; i<=k; i++)
for(j=sum/; j>=v[i]; j--)
{
if(j>=v[i])
dp[j] = max(dp[j], dp[j-v[i]]+v[i]);
} if(sum% || dp[sum/]!=sum/)
printf("#%d:Can't be divided.\n\n", iCase++);
else
printf("#%d:Can be divided.\n\n", iCase++); } return ;
}
河南省第五届ACM程序设计大赛的更多相关文章
- nyoj 1238 最少换乘 (河南省第八届acm程序设计大赛)
题目1238 题目信息 执行结果 本题排行 pid=1238" style="text-decoration:none; color:rgb(55,119,188)"&g ...
- nyoj 1239 引水project (河南省第八届acm程序设计大赛)
题目1239 pid=1239" style="color:rgb(55,119,188)">题目信息 pid=1239" style="col ...
- nyoj1237 最大岛屿(河南省第八届acm程序设计大赛)
题目1237 pid=1237" style="color:rgb(55,119,188)">题目信息 执行结果 本题排行 讨论区 最大岛屿 时间限制:1000 m ...
- 河南省第四届ACM程序设计大赛
A: 序号互换 #include <cstdio> #include <cstdlib> #include <cstring> #include <algor ...
- 河南省第八届ACM程序设计大赛
A:挑战密室 #include <iostream> #include <cstdio> #include <cstring> #include <algor ...
- 河南省第八届ACM程序设计大赛总结
简单的对这次省赛做个总结:总体来说这个比赛过程中做的还算比较顺利,虽然中间多多少少遇到一些坑,正式比赛开始后,我们就开始找水题,当然了我首先把英文题目翻译了一遍,发现了一道水题,这道题目其实就是判断点 ...
- 西南科技大学第十一届ACM程序设计大赛发言稿
西南科技大学第十一届ACM程序设计大赛发言稿 各位老师.志愿者及参赛选手: 大家好,我是来自计科学院卓软1301的哈特13,很荣幸今天能站在这里代表参赛选手发言. 回想起来,我参加ACM比赛已经快两年 ...
- 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏
第13届 广东工业大学ACM程序设计大赛 C题 平分游戏 题目描述 转眼间又过了一年,又有一届的师兄师姐要毕业了. 有些师兄师姐就去了景驰科技实习. 在景驰,员工是他们最宝贵的财富.只有把每一个人 ...
- 河南省第七届ACM程序设计大赛赛后总结
我们学校ACM集训开始于4月5号(清明节),5月25日在郑州解放军信息工程大学举办,集训耗时50天,但是感觉效果还行,但是也不是太好:我们也已经尽力了,虽然说只拿了个银牌,每份收获的背后,都会有辛勤的 ...
随机推荐
- 【简易版】HashMap(增删改查)
1.HashMap概述 (1)首先HashMap是基于哈希表的Map接口实现的.另外HashMap中存储的数据是按照键值跟键值对的关系来进行存储的. (2)不同于ArrayList方法的是,Array ...
- CRC16 三种算法及c实现
标准CRC生成多项式如下表: 名称 生成多项式 简记式* 标准引用 CR ...
- 微信小程序 wx.getUserInfo 解密 C# 代码
花了6小时,弄出来的代码.网上的是PHP代码 public static string DecodeUserInfo(string raw, string signature,string encry ...
- Shell 去掉文本中的空格
使用sed命令 将文件'aol1'中的空格去掉然后输出到'tmpFile'文件中 sed s/[[:space:]]//g aol1 > tmpFile
- String、StringBuffer、StringBuilder的区别
在日常开发过程中String字符串估计是被用到最多的变量了,最近看了一些String.StringBuffer和StringBuilder的东西,三者都可以对字符串进行操作,他们究竟有什么区别,以及适 ...
- 纯JS实现中国行政区域上下联动选择地址
一.实现目的: 如标题所述,通过JS来实现地址的选取,上一篇博客介绍的方式是通过java读取txt资源文件来实现地址的选择,通过ajax方式访问服务器实现省市区联动.此篇中将介绍如何使用JS实现相同功 ...
- Activity之间传递参数(三)
------siwuxie095 传递值对象,即自定义的有数据类型的对象 1.首先 new 一个 class:User,用于创建自定义对象,同时右键 Generate 出 Constructor.se ...
- MySql密码忘记解决方法
1.先杀掉mysqld-nt.exe 进程,有很多种方法,最简单是在CMD里输入net stop mysql 2.CMD路径切换到MySQL的安装目录下的bin里 输入mysqld-nt.exe - ...
- 一个div,包含三个小的div,平均分布的样式
从11月份开始,自学前端开发,写静态页面中,经常用到一个大的div下包含三个小的div,平均分布div大小样式,写过多次,也多次忘记,每次都要现找资料,不想之后,在这么麻烦,索性今天自己记录一下,方便 ...
- AutoCad2008 部分快捷键
编组开关: Ctrl+Shift+A 查看扩展属性命令: xdlist 加载新的菜单栏命令:menu