bug运输[辽宁2014年省队互测一]
奇奇怪怪的题目,不知道他要我们干什么。
我们观察一波局势,发现答案最大不过5.因为如果答案是6或以上的话,我们就至少要2^(5*5)个5*5的方格。
仔细计算一波时间复杂度,再信仰一波,坚信暴力压正解。
#include<bits/stdc++.h>
#define sight(c) ('0'<=c&&c<='9')
#define N 1007
#define X(x) x<<=1,x|=a[j+ii][k+jj]
#define Y(x) x<<=1,x|=a[j+jj][k+ii]
#define MARICLE __attribute__((optimize("-O3")))
#define O(x) f[x]?(x=0):(f[x]=1,ans++,x=0);
MARICLE inline void read(int &x){
static char c;
for (c=getchar();!sight(c);c=getchar());
for (x=;sight(c);c=getchar())x=x*+c-;
}
MARICLE inline void reads(bool &x){
static char c;
for (c=getchar();!sight(c);c=getchar()); x=(int)c-;
}
using namespace std;
MARICLE void write(int x){if (x<) {putchar(''+x); return;} write(x/); putchar(''+x%);}
MARICLE inline void writeln(int x){ if (x<) putchar('-'),x*=-; write(x); putchar('\n'); }
int n,ag,op,ans,ap,ot;
bool a[N][N],k[],f[(<<)+];
MARICLE void writeLn(int x,int len){
for (int i=len-;~i;i--) {
for (int j=len-;~j;j--)
putchar(''+(x>>i*len+j&));putchar('\n');}
}
MARICLE int main () {
// freopen("a.in","r",stdin);
read(n);
for (int i=;i<=n;i++) for (int j=;j<=n;j++) reads(a[i][j]),k[a[i][j]]=;
if (!k[]) {writeln();writeln();return ;}
if (!k[]) {writeln();writeln();return ;}
for (int i=;i<=;i++) {
memset(f,,sizeof f);ans=;
for (int j=n-i+;j;j--)
for (int k=n-i+;k;k--) {
for (int ii=;ii<i;ii++) for (int jj=;jj<i;jj++) X(ag),Y(ap);
O(ag);O(ap);
for (int ii=i-;~ii;ii--) for (int jj=;jj<i;jj++) X(ag),Y(ap);
O(ag);O(ap);
for (int ii=;ii<i;ii++) for (int jj=i-;~jj;jj--) X(ag),Y(ap);
O(ag);O(ap);
for (int ii=i-;~ii;ii--) for (int jj=i-;~jj;jj--) X(ag),Y(ap);
O(ag);O(ap);
}
if (ans^(<<i*i)) {
ot=<<i*i;
for (int g=;g<ot;g++)
if (!f[g]) { writeln(i),writeLn(g,i); return ;}
}
}
}
bug运输[辽宁2014年省队互测一]的更多相关文章
- [bzoj3670][2014湖北省队互测week2]似乎在梦中见过的样子
Description 已知一个字符串S,求它有多少个形如A+B+A的子串(len(A)>=k,len(B)>=1 ). Input 第一行一个字符串,第二行一个数 k. Output 仅 ...
- 题解 P6271 [湖北省队互测2014]一个人的数论
通过这道题学了伯努利数,写篇题解推一下 题目 先推一下式子 \[\sum_{i=1}^ni^d[gcd(i,n)=1] \] \[\sum_{i=1}^{n}i^d\sum_{k|i}\sum_{k| ...
- 【河北省队互测】 gcd BZOJ 2818
Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sa ...
- STOI补番队互测#2
Round2轮到我出了>_<(目测总共10人参加 实际共七人) 具体情况: #1: KPM,360 #2:ccz181078,160 #3:child,150 可惜KPM没看到第一题样例里 ...
- GCD BZOJ2818 [省队互测] 数学
题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 输入输出格式 输入格式: 一个整数N 输出格式: 答案 输入输出样例 输入样例#1: 复制 4 ...
- 【loj2461】【2018集训队互测Day 1】完美的队列
#2461. 「2018 集训队互测 Day 1」完美的队列 传送门: https://loj.ac/problem/2461 题解: 直接做可能一次操作加入队列同时会弹出很多数字,无法维护:一个操作 ...
- 【2018集训队互测】【XSY3372】取石子
题目来源:2018集训队互测 Round17 T2 题意: 题解: 显然我是不可能想出来的……但是觉得这题题解太神了就来搬(chao)一下……Orzpyz! 显然不会无解…… 为了方便计算石子个数,在 ...
- 【CH 弱省互测 Round #1 】OVOO(可持久化可并堆)
Description 给定一颗 \(n\) 个点的树,带边权. 你可以选出一个包含 \(1\) 顶点的连通块,连通块的权值为连接块内这些点的边权和. 求一种选法,使得这个选法的权值是所有选法中第 \ ...
- 洛谷 P4463 - [集训队互测 2012] calc(多项式)
题面传送门 & 加强版题面传送门 竟然能独立做出 jxd 互测的题(及其加强版),震撼震撼(((故写题解以祭之 首先由于 \(a_1,a_2,\cdots,a_n\) 互不相同,故可以考虑求出 ...
随机推荐
- PHP 算法
1.首先来画个菱形玩玩,很多人学C时在书上都画过,咱们用PHP画下,画了一半. 思路:多少行for一次,然后在里面空格和星号for一次. ? 1 2 3 4 5 6 <?php for($i=0 ...
- C#访问C++动态分配的数组指针
项目中遇到C#调用C++算法库的情况,C++内部运算结果返回矩形坐标数组(事先长度未知且不可预计),下面方法适用于访问C++内部分配的任何结构体类型数组.当时想当然的用ref array[]传递参数, ...
- 使用REST风格架构您需要知道的一些事
1. REST的由来 2. REST的构成 2.1. 资源 2.2. 资源的表述 2.2.1. MIME(Multipurpose Internet Mail Extensions) 2.2.2. 缓 ...
- SpringCloud Feign对Hystrix(断路由)的支持
第一步:首先开启Feign对Hystrix的支持,在properties文件中添加以下配置: feign.hystrix.enabled=true. 第二步:在上一篇Feign的基础上添加Hystri ...
- 逐步搭建Lamp环境之vim的三种模式以及基本命令
在Linux中vim的三种模式分别为:命令模式.末行模式.编辑模式.以下是三者的关系图: 三种模式的彼此切换: 命令模式是vim中的默认模式. 命令模式切换至末行模式: 使用英文冒号(:). 末行模式 ...
- MySQL基数(索引基数)
基数是数据列所包含的不同值的数量.例如,某个数据列包含值1.3.7.4.7.3,那么它的基数就是4. 索引的基数相对于数据表行数较高(也就是说,列中包含很多不同的值,重复的值很少)的时候,它的工作效果 ...
- Express4.x API (二):Request (译)
写在前面 最近学习express想要系统的过一遍API,www.expressjs.com是express英文官网(进入www.epxressjs.com.cn发现也是只有前几句话是中文呀~~),所以 ...
- sharepoint 2013 使用SharePoint powershell 2013更改搜索server方法
$hostA = Get-SPEnterpriseSearchServiceInstance -Identity "DevSearch2013" Start-SPEnterpris ...
- Nginx服务编译安装、日志功能、状态模块及访问认证模式实操
系统环境 [root@web ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@web ~]# uname -a Linux d ...
- Android DVM
1.DVM(Dalvik Virtual Machine)概述 是Google公司自己设计用于Android平台的Java虚拟机 支持已经转化为.dex(及Dalvik Excutable)格式的Ja ...