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程序设计大赛的更多相关文章

  1. nyoj 1238 最少换乘 (河南省第八届acm程序设计大赛)

    题目1238 题目信息 执行结果 本题排行 pid=1238" style="text-decoration:none; color:rgb(55,119,188)"&g ...

  2. nyoj 1239 引水project (河南省第八届acm程序设计大赛)

    题目1239 pid=1239" style="color:rgb(55,119,188)">题目信息 pid=1239" style="col ...

  3. nyoj1237 最大岛屿(河南省第八届acm程序设计大赛)

    题目1237 pid=1237" style="color:rgb(55,119,188)">题目信息 执行结果 本题排行 讨论区 最大岛屿 时间限制:1000 m ...

  4. 河南省第四届ACM程序设计大赛

    A: 序号互换 #include <cstdio> #include <cstdlib> #include <cstring> #include <algor ...

  5. 河南省第八届ACM程序设计大赛

    A:挑战密室 #include <iostream> #include <cstdio> #include <cstring> #include <algor ...

  6. 河南省第八届ACM程序设计大赛总结

    简单的对这次省赛做个总结:总体来说这个比赛过程中做的还算比较顺利,虽然中间多多少少遇到一些坑,正式比赛开始后,我们就开始找水题,当然了我首先把英文题目翻译了一遍,发现了一道水题,这道题目其实就是判断点 ...

  7. 西南科技大学第十一届ACM程序设计大赛发言稿

    西南科技大学第十一届ACM程序设计大赛发言稿 各位老师.志愿者及参赛选手: 大家好,我是来自计科学院卓软1301的哈特13,很荣幸今天能站在这里代表参赛选手发言. 回想起来,我参加ACM比赛已经快两年 ...

  8. 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏

    第13届 广东工业大学ACM程序设计大赛 C题 平分游戏 题目描述 转眼间又过了一年,又有一届的师兄师姐要毕业了. ​ 有些师兄师姐就去了景驰科技实习. 在景驰,员工是他们最宝贵的财富.只有把每一个人 ...

  9. 河南省第七届ACM程序设计大赛赛后总结

    我们学校ACM集训开始于4月5号(清明节),5月25日在郑州解放军信息工程大学举办,集训耗时50天,但是感觉效果还行,但是也不是太好:我们也已经尽力了,虽然说只拿了个银牌,每份收获的背后,都会有辛勤的 ...

随机推荐

  1. eclipse中outline中图标的含义

    outline: 实心的代表方法 空心的代表属性 绿色的圆表示公有public 黄色的菱形表示保护protect 红色的方形表示私有private 蓝色的三角表示default 图形后加字母S代表该属 ...

  2. nginx配置文件httpd.conf详解

     PS:Nginx使用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明分享一下,也参考了一些网络的内容,这 ...

  3. 基于Web2.0的RIA框架设计与实现

    http://www.doc88.com/p-8866851533856.html http://cdmd.cnki.com.cn/Article/CDMD-10614-1012472890.htm

  4. linux命令(1):ls命令

    ls命令是linux下最常用的命令. ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看lin ...

  5. 二叉树基本操作C++

    #include <cstdio> #include <climits> #include <cassert> #include <iostream> ...

  6. C#中线程对控件的访问

    Control类提供了一个Invoke方法来给子线程访问主线程的控件,它的原型是酱紫的: object.Control.Invoke(Delegate method); object.Control. ...

  7. linux替换文件指定字符串前面的内容

    sed 's/.*user_id/user_id/' wechat_log2 > target_log

  8. 初涉定制linux系统之——自动化安装Centos系统镜像制作

    最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...

  9. iOS中坐标转换

    坐标转换,可以用UIVIew的方法 //由要转换坐标view的superView执行该方法,rect为待转换view的frame,view是要显示到哪儿的 - (CGRect)convertRect: ...

  10. shadow Dom(shadowRoot) 访问

    示例 gtx.shadowRoot.getElementById("translation") gtx为host对象 起因 抓去chorome谷歌翻译插架的内容.有信息的内容div ...