I - Rake It In
题目链接:https://nanti.jisuanke.com/t/A1538
题意:给一个4*4的方阵,k个回合,a和b轮流选一个2*2的矩阵和,a要使和最大,b要使和最小,选完后2*2矩阵要逆时针旋转九十度,a先选,然后求最合理的答案。
思路:因为方阵只有4*4,所以暴力dfs。
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<queue>
#include<cstdio>
#include<stack>
#include<cmath>
#include<iostream>
#define ll long long
#define lowbit(x) x&(-x)
#define maxn 1050000
#define inf 0x3f3f3f3f
using namespace std;
int mp[][];
int k;
void shun(int x,int y)
{
int t=mp[x][y];
mp[x][y]=mp[x+][y];
mp[x+][y]=mp[x+][y+];
mp[x+][y+]=mp[x][y+];
mp[x][y+]=t;
}
void ni(int x,int y)
{
int t=mp[x][y];
mp[x][y]=mp[x][y+];
mp[x][y+]=mp[x+][y+];
mp[x+][y+]=mp[x+][y];
mp[x+][y]=t;
}
int fun(int x,int y)
{
return mp[x][y]+mp[x+][y]+mp[x+][y+]+mp[x][y+];
}
int dfs(int dep)
{
if(dep==*k)
{
int mi=inf;
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
mi=min(mi,fun(i,j));
}
}
return mi;
}
if(dep%==)
{
int ma=;
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
ni(i,j);
int ans=fun(i,j)+dfs(dep+);
ma=max(ma,ans);
shun(i,j);
}
}
return ma;
}
else
{
int mi=inf;
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
ni(i,j);
int ans=fun(i,j)+dfs(dep+);
mi=min(mi,ans);
shun(i,j);
}
}
return mi;
}
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&k);
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
scanf("%d",&mp[i][j]);
}
}
int ans=dfs();
printf("%d\n",ans);
}
}
I - Rake It In的更多相关文章
- rake deploy ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to解决方法
需要修改项目中Rakefile文件的内容: 原始内容:system "git push origin #{deploy_branch}" 改后内容:system "git ...
- rake :You have already activated rake 10.1.0
rake aborted! You have already activated rake 10.1.0, but your Gemfile requires rake 10.0.3. Using b ...
- 给破坏性的Rake任务加把锁 | Rails
抄自这里 直接贴代码 # lib/tasks/skip_prod.rake desc 'Raises exception if used in production' task skip_prod: ...
- 如何用rake tasks 生成migration对应的sql
how-to-use-rake-tasks-to-generate-migration-sql Rakefile文件里有load_tasks的方法 http://api.rubyonrails.org ...
- Rails--bundle exec rake db:migrate
--新建表: def up create_table :[TABLE_NAME] do |t| t.column :[NUM], :integer t.column :[NAME], :string ...
- rails使用 rake db:migrate 提示 Migrations are pending; run 'rake db:migrate RAILS_ENV=development' to resolve this issue.
首先得特么建立数据库 : rake db:create 实际问题是没有int应该用integer http://www.rubycc.com/column/rails3.2.3/rails.htm
- Rake::TestTask 介绍
Rake::TestTask 介绍 通常我们创建一个新的项目的时候,会建立一个test或者spec的文件夹来存放测试的文件,运行这些测试需要单独的命令,比如在项目目录下执行rspec .或者ruby ...
- 整理Ruby相关的各种概念(rvm, gem, bundle, rake, rails等)
转自:http://henter.me/post/ruby-rvm-gem-rake-bundle-rails.html Ruby 这个就不用多说了 RVM 用于帮你安装Ruby环境,帮你管理多个Ru ...
- Rails里rake db:migrate出现undefined method last_comment问题的解决
这个问题和特定的rake版本有关,因为Rails要使用rake的last_comment方法在较新版本的rake中已被废弃,所以很多人卸载了新版本的rake去安装旧版本的rake. 这样也能解决问题, ...
- 从原理上理解如何由震源机制一个节面的解:strike,dip,rake可以求出另一个节面的解
首先,需要回到最原始的地震矩的表达式: 已知strike,dip,rake 根据strike和dip可以求出v,根据strike,dip,rake,可以求出u. 把求出来的v和u互换,相当于原来的位错 ...
随机推荐
- Intersection of Two Arrays(交集)
来源:https://leetcode.com/problems/intersection-of-two-arrays Given two arrays, write a function to co ...
- 递归法求组合数C(m,n)
假设这样一个数组: 1 2 3 4 5 n=5 若 m=3 也就是要求C(3,5) 首先先选第一个数 1 那么剩下的工作就是在2-5之间选择2个数 如果我们没有选择第一个数 选第二个数2 那么剩下的工 ...
- MySQL-快速入门(1)基本数据库、表操作语句
1.创建数据库 create database db_name;show create database db_name\G; //查看数据创建语句show databases; //查看当前创建的数 ...
- arm初识
一.CPU从指令集角度分类 1.1. CISC (X86) 1.1. 1. CISC CPU 指complex instruction set computer复杂指令集CPU 1.1.2. CIS ...
- BZOJ 1906. 树上的蚂蚁
传送门 发现蚂蚁不多,所以考虑两两枚举然后判断 那么首先要求出两条链的公共部分,然后根据之间在公共链的时间段和是同向还是反向进行判断 思路简单但是细节很多...... 首先求链的公共部分,设两种蚂蚁为 ...
- rem和css3的相关知识点
☆☆☆rem和css3的相关知识点☆☆☆ 一. Web front-end development engineer rem是根据页面的根元素的font-size的一个相对的单位,即 html{ fo ...
- vscode 将本地项目上传到码云
**************************************************************************************************** ...
- OC(构造函数,分类等知识总结)
文章来源:http://my.oschina.net/luoguankun/blog/219532 一.成员变量的作用域 · @public · 在任何地方都能直接访问对象 ...
- ELK7.X中配置x-pack
ELK7.X中配置x-pack 1.X-Pack简介 X-Pack是一个Elastic Stack的扩展,将安全,警报,监视,报告和图形功能包含在一个易于安装的软件包中.虽然elasticsearch ...
- linux 源码安装postgresql
下载源码包 --安装所需要的系统软件包 yum groupinstall -y "Development tools" yum install -y bison flex read ...