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. sql查询上一条记录和下一条记录

    上一条记录的SQL语句: * from news where newsid<id order by newsid DESC 下一条记录的SQL语句: * from news where news ...

  2. linux 搭建svn

    1          安装SVN 官网下载:http://subversion.apache.org/packages.html SVN客户端:TortoiseSVN,官网下载:http://tort ...

  3. Ubuntu:我不小心把/var/lock文件夹给删了

    在一个风和日丽的下午,不正常关闭minicom导致了device 没有正常解锁,于是使用minicom的时候提示 device is locked: 根据网上看到的方法只要把/var/lock 里面的 ...

  4. 2 Add Two Numbers

    // Java public ListNode addTwoNumbers(ListNode l1, ListNode l2) { return add(l1, l2, false); } priva ...

  5. Google统计

    <!-- Google Analytics --><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i ...

  6. was部分更新

    在WAS中,应用的配置是从config/cells....目录下读取:而资源从/installedApps目录下读取 故当配置文件(例web.xml)发生改变时,只更新应用程序资源文件/install ...

  7. Flask备注三(Context)

    Flask备注三(Context) Flask支持不同的应用场景下,对应不同的local context(本地上下文环境),用来提供当前环境下的资源.lcoal context和全局变量以及局部变量最 ...

  8. JAVA XML

    为什么要用XML:1各平台之间程序很难直接交流 2各程序之间交换数据 xml定义  可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言. 它可以用来标记数据.定义数据 ...

  9. ListView13添加2

    Columns=//添加列总行的标题 GridLines=true //显示网格线 添加数据------------- listView1.Items.Add("123123123" ...

  10. 常用邮件服务器名(POP3,SMTP地址)

    POP3服务器地址:pop3.sina.com.cn(端口:110)SMTP服务器地址:smtp.sina.com.cn(端口:25) sina.cn: POP3服务器地址:pop3.sina.com ...