tyvj 1136

[rest] tyvj 1136

描述 Description

作为一个拥有5000年历史的文明古国,中国,孕育了璀璨而辉煌的文明。而太极,就是这灿烂文明中一颗闪耀的明珠。
    太极图体现了传统哲学的思想,中间的阴阳鱼体现了阴中有阳、阳中有阴,阴阳相生的思想。其内涵非常丰富。
    由于素来对传统文化感兴趣,最近又有较多时间,RC开始关注太极的知识了。有一天,RC在一张纸上用墨随意涂鸦。看着那黑白相间的图画,RC突发奇想,要找找这幅画里包含最大的太极图案有多大。
    当然了,我们是不可能找到严格意义上的阴阳鱼的。于是,RC这样定义太极图:找到一个p*(p+1)的矩阵,左上半部分为黑色,右下半部分为白色。也就是一个黑色的等腰直角三角形和一个白色的等腰直角三角形拼接在一起的图案。我们定义等腰直角三角形的边长也就是p为该太极图的尺寸。那么,请你帮忙看看这其中最大的太极图有多大吧!

输入格式 InputFormat

第一行是两个数字n和m,表示图案的大小。
下面为一个n*m的0、1矩阵。0表示白色,1表示黑色。

输出格式 OutputFormat

一个数,表示找到的最大太极图的尺寸。

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int f[2000][2000]={0},a[2000][2000];
int n,m,i,j,ans=0;
int main()
{
  scanf("%d%d",&n,&m);
  for(i=1;i<=n;i++)
  for(j=1;j<=m;j++)
  {
     scanf("%d",&a[i][j]);
     if((a[i][j]==0)&&(a[i][j-1]==1))f[i][j]=1;
     if((f[i][j-1]==f[i-1][j])&&(a[i-f[i][j-1]][j-f[i][j-1]-1]==1)&&(f[i][j-1]>0))
     f[i][j]=f[i][j-1]+1;
     ans=max(ans,f[i][j]);
  }
  printf("%d\n",ans);
  return 0;
}

时间: 2024-10-05 15:34:53

tyvj 1136的相关文章

TYVJ 2049 魔法珠 sg函数

题意:链接 方法:sg函数 解析: tyvj的题大部分都没题解啊- - 不过这样貌似会更好?感觉做这的题都需要自己动脑啊- - 虽然嘴上说着好烦然而心里觉得好评? 回归正题 设sg[x]表示数x的sg值,这好像是废话 然后对于读入的a[i],将所有的a[i]的sg值异或起来如果不是零则先手赢反之后手 维护的时候有个坑. 每次求约数的时候,数组要在sg里开,因为如果递归下去的话,全局变量的话会被更改,会被坑死. 然后就是怎么维护了 对于x,先求约数 之后枚举哪个数不取,将其他的异或(或者先都异或起

bzoj 3224: Tyvj 1728 普通平衡树.

3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 15114  Solved: 6570[Submit][Status][Discuss] Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为

Bzoj3196 Tyvj 1730 二逼平衡树

Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3350  Solved: 1324 Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数) Input 第一行两个数 n,m 表示长度为n的有序序列和m个操作第二行

3223: Tyvj 1729 文艺平衡树

3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3473  Solved: 1962[Submit][Status][Discuss] Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 Input 第一行为n,m n表示初始序列有n个数,这个序列依次

51nod 1136 欧拉函数

1136 欧拉函数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler's totient function.φ函数.欧拉商数等.例如:φ(8) = 4(Phi(8) = 4),因为1,3,5,7均和8互质. Input 输入一个数N.(2 <= N <= 10^9) Output 输出Phi(n). Input示例 8 Output示例 4

【bfs】【中等难度】tyvj P1234 - bench与奔驰

P1234 - bench与奔驰 From zhangbh001    Normal (OI) 总时限:10s    内存限制:128MB    代码长度 限制:64KB P1234 - bench与奔驰 背景 Background 公园里有个人在练开奔驰 - -!,但是总是撞在bench上 (众人曰:狼来了,快跑啊!) 描述 Description 公园里的bench与奔驰都是无敌的,不会被撞坏.由于开奔驰的人比较"有特点",总是向上下左右四个方向开,而且只会在撞到椅子之后改变方向(

tyvj p1016 装箱问题

装箱问题From admin 描述 Description 有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30), 每个物品有一个体积 (正整数). 要求从 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入格式 InputFormat第一行,一个整数,表示箱子容量:第二行,一个整数,表示有n个物品:接下来n行,分别表示这n个物品的各自体积.输出格式 OutputFormat一个整数,表示箱子剩余空间. 简单DP 01背包 #include<stdio.

BZOJ 3223: Tyvj 1729 文艺平衡树

3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 3629  Solved: 2053[Submit][Status][Discuss] Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 Input 第一行为n,m n表示初始序列有n个数,这个序列依次

BZOJ3224: Tyvj 1728 普通平衡树[treap]

3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 9046  Solved: 3840[Submit][Status][Discuss] Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小