网易编程一题个人代码
来源:互联网 发布:淘宝一元买东西在哪里 编辑:程序博客网 时间:2024/04/30 05:00
#include<iostream>
#include<string.h>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
int mm[21][21];
int boom1[21][21],boom2[21][21];
int n,m,k;
int d[9][2]={{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0}};
void init(int x,int y)//打表
{
for(int i=0;i<9;i++)
{
if(mm[x+d[i][0]][y+d[i][1]]>0) ++boom1[x][y];
if(mm[x+d[i][0]][y+d[i][1]]>1) ++boom2[x][y];
}
}
int find(int x,int y,int i,int j)//找正确的俩次最大值
{
if(x==i&&y==j)
return boom2[x][y];
else if(i>=x-2&&j>=y-2&&i<=x+2&&j<=y+2)
{
int temp=0;
for(int i=0;i<9;i++)
{
int xi=i+d[i][0];
int yi=j+d[i][1];
if(i>=x-1&&j>=y-1&&i<=x+1&&j<=y+1)
{
if(mm[xi][yi]>1)
temp++;
}
else
{
if(mm[xi][yi]>0)
temp++;
}
}
return temp;
}
else return boom1[i][j];
}
int main()
{
int x,y;
while(cin>>n>>m>>k)
{
memset(mm,0,sizeof(mm));
memset(boom1,0,sizeof(boom1));
memset(boom2,0,sizeof(boom2));
for(int i=0;i<k;i++)
{
mm[x][y]++;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
init(i,j);
}
int count=0;
for(int i=0;i<=n;i++)
for(int j=0;j<=m;j++)
for(int ii=0;ii<=n;ii++)
for(int jj=0;jj<=m;jj++)
{
count=max(boom1[i][j]+find(i,j,ii,jj),count);
}
cout<<count<<endl;
}
}
#include<string.h>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
int mm[21][21];
int boom1[21][21],boom2[21][21];
int n,m,k;
int d[9][2]={{-1,1},{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0}};
void init(int x,int y)//打表
{
for(int i=0;i<9;i++)
{
if(mm[x+d[i][0]][y+d[i][1]]>0) ++boom1[x][y];
if(mm[x+d[i][0]][y+d[i][1]]>1) ++boom2[x][y];
}
}
int find(int x,int y,int i,int j)//找正确的俩次最大值
{
if(x==i&&y==j)
return boom2[x][y];
else if(i>=x-2&&j>=y-2&&i<=x+2&&j<=y+2)
{
int temp=0;
for(int i=0;i<9;i++)
{
int xi=i+d[i][0];
int yi=j+d[i][1];
if(i>=x-1&&j>=y-1&&i<=x+1&&j<=y+1)
{
if(mm[xi][yi]>1)
temp++;
}
else
{
if(mm[xi][yi]>0)
temp++;
}
}
return temp;
}
else return boom1[i][j];
}
int main()
{
int x,y;
while(cin>>n>>m>>k)
{
memset(mm,0,sizeof(mm));
memset(boom1,0,sizeof(boom1));
memset(boom2,0,sizeof(boom2));
for(int i=0;i<k;i++)
{
mm[x][y]++;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
init(i,j);
}
int count=0;
for(int i=0;i<=n;i++)
for(int j=0;j<=m;j++)
for(int ii=0;ii<=n;ii++)
for(int jj=0;jj<=m;jj++)
{
count=max(boom1[i][j]+find(i,j,ii,jj),count);
}
cout<<count<<endl;
}
}
0 0
- 网易编程一题个人代码
- 网易2017秋招编程题代码
- 网易编程笔试题(一):合唱团
- 网易笔试编程题(一)
- 网易游戏技术岗在线编程题(一)
- 网易编程题一,回文序列(贪心法)
- 2018网易内推笔试编程题(一)
- 网易在线编程题
- 网易编程题最大公约数
- 网易编程题-合唱团
- 网易编程题
- 网易编程题(2)
- 网易编程题(3)
- 网易编程题(4)
- 网易实习--编程题
- 《网易编程题》藏宝图
- 网易编程题 等差数列
- 网易笔试编程题
- 总结……c++的输出格式
- 何为幂等可重试(安全操作)
- iOS开发中的细节键盘的影藏的几种方式
- 华为2016校园招聘上机笔试题
- index of("") ==-1
- 网易编程一题个人代码
- 宽带连接批处理文件
- 排序
- MySQL修改root密码的4种方法
- android studio 使用、开发小技巧
- UTF-8编码中的BOM问题
- 2016SDAU课程练习一1002
- 第十讲--Oracle日志原理剖析
- Unknown entity (Hibernate的findById方法参数必须加上包名)