HDU 4772 Zhuge Liang's Password
2013-11-24 22:33
375 查看
题目
旋转的公式:
x'=n+1-y
y'=x
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
#define MAXN 50
int n,a[4][MAXN][MAXN],b[MAXN][MAXN];
int main()
{
while (scanf("%d",&n)&&n)
{
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
scanf("%d",&a[0][i][j]);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
scanf("%d",&b[i][j]);
for (int t=0;t<3;t++)
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
a[t+1][i][j]=a[t][j][n+1-i];
int ans=0;
for (int t=0;t<4;t++)
{
int tmp=0;
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
if (b[i][j]==a[t][i][j]) tmp++;
ans=max(ans,tmp);
}
printf("%d\n",ans);
}
return 0;
}
旋转的公式:
x'=n+1-y
y'=x
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
#define MAXN 50
int n,a[4][MAXN][MAXN],b[MAXN][MAXN];
int main()
{
while (scanf("%d",&n)&&n)
{
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
scanf("%d",&a[0][i][j]);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
scanf("%d",&b[i][j]);
for (int t=0;t<3;t++)
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
a[t+1][i][j]=a[t][j][n+1-i];
int ans=0;
for (int t=0;t<4;t++)
{
int tmp=0;
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
if (b[i][j]==a[t][i][j]) tmp++;
ans=max(ans,tmp);
}
printf("%d\n",ans);
}
return 0;
}
相关文章推荐
- 时间复杂度和空间复杂度详解
- 编写小游戏--雷电
- jsp web常见问题汇总<一>
- C#使用Zxing2.0生成二维码 带简单中心LOGO
- c# API 句柄初探
- hdu-1002-Java大数加法
- go语言示例:hello world
- C#使用DataSet类、DataTable类、DataRow类、OleDbConnection类、OleDbDataAdapter类编写简单数据库应用
- js,jquery字符串转换json,兼容各种浏览器
- 参加OpenMap的感受
- 放苹果问题
- 初学者VmWare安装CentOS6.4虚拟机搭建hadoop1.2.1\hbase0.94.12环境
- 大数据应用之个性化推荐的十大挑战
- go语言示例(总目录)
- 浮点数比较大小
- 关于loader加载的东西必须是继承sprite
- poj 1703
- kohana的modules集合
- 【Android设备管理】 利用DevicePolicyManager执行屏幕锁定
- poj 1703