3039: 材质贴图 

Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByte
Total Submit: 46            Accepted:19

Description

3D游戏中的场景经常用材质贴图来表现,例如石头、水面等。
通常,材质贴图是一张正方形的位图,上下边界的像素对应相同,左右边界的像素也对应相同。例如下图中,左边是一张材质贴图,而右边的不是(左右边界不同)。

给定一张n×n的位图,请在这张位图中寻找一块材质贴图,使得材质贴图尺寸最大。下图中黄色区域就是最大的材质贴图,虽然黄色区域左上角2×2的位图也是材质贴图,但不是最大的。

Input

输入包含多组数据。
每组数据第一行是一个整数n (1≤n≤50),表示位图的大小。
然后n行每行n个在0到255之间的整数,描述位图的内容。
输入数据以n=0结束,不要处理这组数据。

Output

对每组数据输出最大的材质贴图的边长。请注意,1×1的位图也是材质贴图。

Sample Input
2
255 0
0 127
5
5 251 127 11 195
23 13 0 13 23
211 0 13 0 67
211 13 0 13 23
1 251 127 11 47
0
Sample Output
1
3


其实暴力枚举就好了,但是这个2就成了对角线,没有想到怎么把他优化掉

#include<stdio.h>
int n,a[][];
int la()
{
for(int k=n; k>; k--)
for(int i=; i<=n-k; i++)
for(int j=; j<=n-k; j++)
{
int f=;
for(int l=; l<k; l++)
if(a[i][j+l]!=a[i+k-][j+l]||a[i+l][j]!=a[i+l][j+k-])
{
f=;
break;
}
if(f)return k;
}
for(int i=; i<=n-; i++)
for(int j=; j<=n-; j++)
{
if(a[i][j]==a[i+][j+]&&a[i+][j]==a[i][j+])
return ;
}
return ;
}
int main()
{
while(scanf("%d",&n),n)
{
for(int i=; i<n; i++)
for(int j=; j<n; j++)
scanf("%d",a[i]+j);
printf("%d\n",la());
}
return ;
}

TOJ3039: 材质贴图的更多相关文章

  1. iOS - Scenekit3D引擎初探之 - 给材质贴图

    今天简单说一下 SceneKit 给材质贴图. 1,最简单的一种方法,直接打开dae 或者 scn 文件直接设置  如上图,这个dae 文件中只有一个几何体,几何体中只有一个材质球,然后设置材质球的d ...

  2. Threejs中的材质贴图

    最近项目需要折腾three.js,有关three.js几点说明 1.作用 threejs适合创建简单的模型视图 2.对于复杂的模型图(如:室内模型图)需要美术3D制作,前端导成特定格式文件(如*.mt ...

  3. unity 模型 材质 贴图 关系;着色器属性

    模型包含 材质(Material),包括 [核心]着色器(Shader) 贴图和其他参数,贴图也算是一种参数 其他,如网格渲染器(Mesh Renderer).动画.坐标 一个材质可以看做为一个Sha ...

  4. Unity3D研究院之自制批量关联材质与贴图插件

    原地址:http://www.xuanyusong.com/archives/2314 美术做过的模型导出fbx,美术把Fbx和贴图文件给了程序,程序把Fbx导入工程可能会出现贴图和材质没有关联上的问 ...

  5. 3DMAX 多维材质及对应的UVW展开,UVW贴图

    多维材质说明 多维材质就是一个模型多个材质,(混合材质是多个材质混一起,跟这个貌似没关,比如地表草地,泥土等的混合操作) 作用: 比如一个模型就是需要两种材质,刀的金属刀身,木质刀柄,墙的一面是木板, ...

  6. Thinking in Unity3D:基于物理着色(PBS)的材质系统

    关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的引擎 ...

  7. Glow 效果材质

    转自:http://blog.csdn.net/panda1234lee/article/details/60960846 算法较简单,首先来看 Base color 部分: 就是将对事先准备好的三张 ...

  8. Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质

    Unity 游戏开发技巧集锦之创建部分光滑部分粗糙的材质 创建部分光滑部分粗糙的材质 生活中,有类物体的表面既有光滑的部分,又有粗糙的部分,例如丽江的石板路,如图3-17所示,石板的表面本来是粗糙的, ...

  9. 3D游戏图形技术解析(7)——视差映射贴图(Parallax Mapping)【转】

    http://www.cnblogs.com/taotaobujue/articles/2781371.html 视差映射贴图(Parallax Mapping) ● 传统纹理贴图的弊端 纹理贴图大家 ...

随机推荐

  1. SQL server函数

    一般在开发中用到的函数 标量函数用的比较多 标量函数:就是返回一个单一的结果值 下面介绍一下标量函数的语法 create function GetFunction  --创建函数 (   @name ...

  2. 基于Java实现的插入排序算法

    简述 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上,通常 ...

  3. tar打包压缩命令

    1. tar命令 用法: tar [选项...] [FILE]... GNU ‘tar’将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件. 示例 tar -cf archiv ...

  4. 微软OneDrive使用体验

    OneDrive是微软推出的一款软件,提供类似百度网盘的功能,能够在线存储照片和文档, 号称从任意电脑.Mac 电脑或手机都可访问. 一起来看看吧,第一次用之前需要进行简单配置. 因为是一个同步盘,需 ...

  5. MDI和在TabPage

    无奈的.net探索 MDI和在TabPage中增加Form分页? MDI(Multiple Document Interface)是一种在窗口中嵌套窗口的接口, 与之对应的是SDI(Single Do ...

  6. codeforces Gym 100338F Spam Filter 垃圾邮件过滤器(模拟,实现)

    阅读题, 概要:给出垃圾邮件和非垃圾邮件的集合,然后按照题目给出的贝叶斯公式计算概率一封邮件是垃圾邮件的概率. 逐个单词判断,将公式化简一下就是在垃圾邮件中出现的次数和在总次数的比值,大于二分之一就算 ...

  7. dp 20190618

    C. Party Lemonade 这个题目是贪心,开始我以为是背包,不过也不太好背包,因为这个L都已经是1e9了. 这个题目怎么贪心呢?它是因为这里有一个二倍的关系,所以说val[i]=val[i- ...

  8. ucosii(2.89)mutex 应用要点

    mutex 的创建在于共享资源打交道是可以可以保证满足互斥条件:1,必须保证继承优先级要高于可能与相应共享资源打交道的任务中优先级最高的优先级.2,不要将占有Mutex的任务挂起,也不要让占有mute ...

  9. python之dic {字典}(重要指数*****)

    1. 什么是字典 {'name': '汪峰', 'age': 18} '键':'值' 别的语言键值对数据 键: 必须是可哈希(不可变的数据类型),并且是唯一的 值: 任意 可以保存任意类型的数据 字典 ...

  10. chosen选择框加载数据

    1.单选$(select).val($("#id").val());$(select).trigger("chosen:updated"); 2.多选 func ...