hdu 4038 Stone
思路:
如果负数的个数为偶数则不必改变,为奇数就将最大负数变为正;
对于正数,尽量将1,2变为3即可。
代码如下:
#include<cstring>
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<queue>
#include<map>
#include<vector>
#include<string>
#define Maxn 2010
#define LL __int64
#define MM 1000000007
using namespace std;
priority_queue<LL> les;
priority_queue<LL ,vector<LL> ,greater<LL> >mor;
LL mul(LL x,LL e)
{
LL temp=;
while(e){
if(e&) temp=temp*x%MM;
e>>=;
x=x*x%MM;
}
return temp;
}
int main()
{
LL i,j,n,t,x,Case=;
LL m;
scanf("%I64d",&t);
while(t--)
{
while(!mor.empty())
mor.pop();
while(!les.empty())
les.pop();
scanf("%I64d%I64d",&n,&m);
for(i=;i<=n;i++)
{
scanf("%I64d",&x);
if(x<)
les.push(x);
else
mor.push(x);
}
LL temp;
LL lz,mz;
mz=mor.size();
lz=les.size();
if(lz%)
{
temp=les.top();
if(m+(LL)temp>=){
m+=(LL)temp;
les.pop();
mor.push();
}
else{
les.pop();
les.push(temp+(LL)m);
m=;
}
}
while(m&&!mor.empty()){
temp=mor.top();
if(temp==){
mor.pop();
mor.push();
m--;
}
if(temp==){
mor.pop();
mor.push();
m--;
}
if(temp==){
mor.pop();
mor.push();
m--;
}
if(temp>=){
if(m==){
mor.pop();
mor.push(temp+);
m--;
}
break;
}
}
LL ans=;
LL mod=m%;
if(mod==){
if(m>=){
m-=;
mor.push();
mor.push();
}
else{
temp=mor.top();
mor.pop();
mor.push(temp+);
}
}
ans=mul(,m/);
if(mod==)
mor.push();
while(!mor.empty()){
temp=mor.top();
mor.pop();
ans*=(LL)temp;
ans%=MM;
}
while(!les.empty()){
temp=les.top();
les.pop();
ans*=(LL)temp;
ans%=MM;
}
ans%=MM;
printf("Case %I64d: %I64d\n",++Case,ans);
}
return ;
}
hdu 4038 Stone的更多相关文章
- hdu 1729 Stone Game
Stone Game HDU - 1729 题意: 给定n个箱子,每个箱子的容量为si,每个箱子里最初有ci个石子,每次放入石子不能超过放入前的石子数的平方,谁无法继续放入石子就算输. /* 这是 ...
- hdu 4388 Stone Game II
Stone Game II HDU - 4388 题目大意: 给出n堆物品,每堆物品都有若干件,现在A和B进行游戏,每人每轮操作一次,按照如下规则: 1. 任意选择一个堆,假设该堆有x个物品,从中选择 ...
- HDU 4764 Stone(博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764 题目大意:Tang和Jiang玩石子游戏,给定n个石子,每次取[1,k]个石子,最先取完的人失败 ...
- 2013长春网赛 1006 hdu 4764 Stone(巴什博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4764 题意:Tang 和 Jiang 玩一个游戏,轮流写下一个数,Tang先手,第一次Tang只能写[ ...
- HDU 4764 Stone (2013长春网络赛,水博弈)
Stone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU 4388 Stone Game II 博弈论 找规律
http://acm.hdu.edu.cn/showproblem.php?pid=4388 http://blog.csdn.net/y1196645376/article/details/5214 ...
- hdu 4388 Stone Game II sg函数 博弈
Stone Game II comes. It needs two players to play this game. There are some piles of stones on the d ...
- HDU 4388 Stone Game II {博弈||找规律}
Stone Game II Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- HDU 1729 Stone Game【SG函数】
以下转载至:长春理工大学赵小舟博弈论ppt 题目大意: 1.有n个盒子,每个盒子都有它的容量s 2.在游戏开始时,每个盒子里都有一些石子 3.双方轮流进行游戏,向一个盒子投入n个石子,其中n不能大于当 ...
随机推荐
- Linux驱动编程--基于I2C子系统的I2C驱动
代码中,我添加了很多注释,应该不难理解,有错误大家可以指出来,我再改正 #include <linux/kernel.h> #include <linux/module.h> ...
- SecureCRT远程控制ubuntu
如果你拥有两台电脑一台是ubuntu,另一台是笔记本电脑,而你又想在远程控制你的ubuntu,那么SecureCRT就可以用了. 1:首先在你的ubuntu电脑上安装SSH服务 :apt-get i ...
- Bootstrap模态框
backdrop选项,当设置成false的时候, 背景不会出现半透明的遮盖层,当用户点击模态框外部时不会关闭模态框: 设置成true的时候会出现遮盖层,当用户点击模态框外部时则会关闭模态框. 那如果又 ...
- silverlight webclient实现上传、下载、删除、读取文件
1.上传 private void Button_Click_1(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = ...
- PowerDesigner中遍历物理模型中的所有表,检查表代码、字段代码
'***************************************************************************** '文件:CheckCode4SqlServ ...
- 【PHP】phpcms html去除空白
// 文件路径:/phpcms/libs/classes/template_cache.class.php 42行 // 第四第五行是新增的 $content = $this->template ...
- ThoughtWorks FizzBuzzWhizz 代码实现
当时拉钩网ThoughtWorks出了一道面试题(https://www.jinshuju.net/f/EGQL3D),本人用PHP实现了一下,当时忘记了把代码分享出来,今天特来补上. FizzBuz ...
- MySQL语法语句大全
一.SQL速成 结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表.索引.字段等)的建立和操纵. 以下是一些重要的SQL快速参考,有关SQ ...
- Optimize date2str function
/*************************************************** Created Date: 19 Jul 2013 Created By: Jimmy Xie ...
- HTTP 错误405.0 - Method Not Allowed
在使用IIS发布网页的时候,出现下图这个问题 那么出现这个问题的原因可能有很多种,但是我目前是这么解决的,下面说一下我个人解决这个问题的方案,仅供参考. 首先,以管理员的身份启动cmd 如果电脑是64 ...