HDU 4708 Rotation Lock Puzzle (热身赛第三题)
来源:互联网 发布:单片机驱动12864 编辑:程序博客网 时间:2024/05/20 05:25
转载请注明出处:http://blog.csdn.net/a1dark
分析:这题卡了我很久、WA了7次、最主要是没有考虑到如果在同一层出现多种最大的情况的时候该如何判断、别的都比较容易、
#include<stdio.h>#include<string.h>int max[15][15];int map[15][15];int maxx[15];int x[15];int y[15];int xx[100];int yy[100];int s[15];int min(int a,int b){ if(a<b)return a; return b;}int main(){ int n,i,j; while(scanf("%d",&n)!=EOF){ if(n==0)break; for(i=1;i<=n;i++) for(j=1;j<=n;j++){ scanf("%d",&map[i][j]); } memset(max,0,sizeof(max)); for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ if(map[i][j]+map[n-i+1][n-j+1]+map[n-j+1][i]+map[j][n-i+1]>=max[i][j]) max[i][j]=map[i][j]+map[n-i+1][n-j+1]+map[n-j+1][i]+map[j][n-i+1]; } } memset(maxx,0,sizeof(maxx)); for(i=1;i<=n/2;i++){ x[i]=i; y[i]=i; } memset(s,-1,sizeof(s)); for(i=1;i<=n/2;i++) for(j=i;j<=n-i+1;j++){ if(max[i][j]>maxx[i]||(max[i][j]==maxx[i]&&s[i]>min((j-i),(n-i+1-j)))){ x[i]=i; y[i]=j; s[i]=min((x[i]-i+y[i]-i),(n-i+1-y[i]+x[i]-i)); maxx[i]=max[i][j]; } } for(j=1;j<=n/2;j++) for(i=j;i<=n-j+1;i++){ if(max[i][j]>maxx[j]){ x[j]=i; y[j]=j; maxx[j]=max[i][j]; } } int sum=0; int step=0; for(i=1;i<=n/2;i++){ sum+=maxx[i]; } sum+=map[n/2+1][n/2+1]; for(i=1;i<=n/2;i++) step+=min((x[i]-i+y[i]-i),(n-i+1-y[i]+x[i]-i)); printf("%d %d\n",sum,step); } return 0;}
- HDU 4708 Rotation Lock Puzzle (热身赛第三题)
- hdu 4708 Rotation Lock Puzzle 2013年ICPC热身赛A题 旋转矩阵
- hdu 4708 Rotation Lock Puzzle(模拟)
- hdu - 4708 - Rotation Lock Puzzle
- hdu 4708 Rotation Lock Puzzle
- HDU 4708 Rotation Lock Puzzle
- hdu 4708 Rotation Lock Puzzle
- HDU 4708 Rotation Lock Puzzle
- HDU 4708 Rotation Lock Puzzle
- HDU 4708 Rotation Lock Puzzle
- hdu 4708 Rotation Lock Puzzle
- HDU 4708:Rotation Lock Puzzle
- HDU 4708 Rotation Lock Puzzle(数学啊)
- HDU 4708 Rotation Lock Puzzle 解题报告
- Hdu 4708 Rotation Lock Puzzle --模拟
- hdu4708 Rotation Lock Puzzle
- HDU 4708 Rotation Lock Puzzle && 2013 ACM/ICPC Asia Regional Online —— Warmup
- HDU4708 Rotation Lock Puzzle 不错的模拟题
- [转载]MyEclipse8.5 Hibernate反向工程步骤及DAO Type
- 在只有JRE的环境下使用BTrace
- struct stat 的用法
- VC简单画图
- 2013华为杯编程大赛成都第三组试题及答案
- HDU 4708 Rotation Lock Puzzle (热身赛第三题)
- Annotation学习入门的几篇文章
- 大数加法
- hdu 4707 Pet
- SRM 590 DIV1
- Java序列化的作用和反序列化
- 宏与内联(inline)的区别
- Linux多线程服务端编程(笔记2)
- PostQuitMessage(退出程序的一种方法)