习题:LOJ徽章(暴力)
时间:2019-11-14
本文章向大家介绍习题:LOJ徽章(暴力),主要包括习题:LOJ徽章(暴力)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目
思路
暴力!暴力!暴力!
代码
#include<iostream>
#include<cstdio>
using namespace std;
void read(int &x)
{
x=0;
int f=1;
char c=getchar();
while('0'>c||c>'9')
{
if(c=='-')
f=-1;
c=getchar();
}
while('0'<=c&&c<='9')
{
x=(x<<3)+(x<<1)+c-'0';
c=getchar();
}
x*=f;
}
void read(long long &x)
{
x=0;
long long f=1;
char c=getchar();
while('0'>c||c>'9')
{
if(c=='-')
f=-1;
c=getchar();
}
while('0'<=c&&c<='9')
{
x=(x<<3)+(x<<1)+c-'0';
c=getchar();
}
x*=f;
}
void write(int x)
{
if(x<10)
putchar(x+'0');
else
{
write(x/10);
write(x%10);
}
}
void write(long long x)
{
if(x<10)
putchar(x+'0');
else
{
write(x/10);
write(x%10);
}
}
int n,m;
int s;
int dx[5]={0,0,0,1,1};
int dy[5]={0,0,1,0,1};
int ans;
bool vis[1005][1005];
char a[1005][1005];
char b[3][3];
int check(int x,int y)
{
if(1<=x&&x<=n&&1<=y&&y<=m)
{
int ret=0;
for(int i=1;i<=4;i++)
{
int tx=x+dx[i];
int ty=y+dy[i];
if(b[dx[i]+1][dy[i]+1]==a[tx][ty])
ret++;
}
return ret;
}
else
return 0;
}
bool pd(int x,int y)
{
if(1<=x&&x<=n&&1<=y&&y<=m)
{
for(int i=1;i<=4;i++)
{
int tx=x+dx[i];
int ty=y+dy[i];
if(vis[tx][ty])
return 1;
}
}
return 0;
}
int work(int x,int y)
{
int ret=0;
if(check(x-1,y-1)==4)
ret++;
if(check(x,y-1)==4)
ret++;
if(check(x-1,y)==4)
ret++;
if(check(x,y)==4)
ret++;
return ret;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=1;i<=2;i++)
for(int j=1;j<=2;j++)
cin>>b[i][j];
for(int i=1;i<n;i++)
{
for(int j=1;j<m;j++)
{
int al=check(i,j);
if(al==4)
{
for(int k=1;k<=4;k++)
{
int tx=i+dx[k];
int ty=j+dy[k];
vis[tx][ty]=1;
}
s++;
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
char las=a[i][j];
if(las!='J')
{
a[i][j]='J';
ans=max(ans,s+work(i,j));
}
if(las!='O')
{
a[i][j]='O';
ans=max(ans,s+work(i,j));
}
if(las!='I')
{
a[i][j]='I';
ans=max(ans,s+work(i,j));
}
a[i][j]=las;
}
}
cout<<ans;
return 0;
}
原文地址:https://www.cnblogs.com/loney-s/p/11861127.html
- 如何实现VM框架中的数据绑定
- Java盲点解析
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 解析JSON
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 处理静态资源
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 视图Nunjucks
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 代码分层
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ HTTP请求
- ubuntu中安装tomcat
- python文件操作
- Owasp测试4.0手册
- 推荐一款Web渗透测试数据库
- 【提莫】一个域名收集及枚举工具
- chmod: changing permissions of `/usr/local/bin/...
- a windows service with the name MYSQL already e...
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android 如何实现exclude aar包中的某个jar包
- android 实现控件左右或上下抖动教程
- Android Studio引入FFmpeg的方法
- Android Studio 中获取屏幕宽度实例
- Android studio 生成带Kotlin文档的实现方式
- 基于Android FileProvider 属性配置详解及FileProvider多节点问题
- Android 通过API获取数据库中的图片文件方式
- android尺子的自定义view——RulerView详解
- 浅谈Android Studio3.6 更新功能
- Android 自定义View手写签名并保存图片功能
- android 使用Xml文件定义Shape方式
- Android 判断所有字段是否已经输入的实例
- Android 将网络的Url资源转换为Drawable资源方式
- Android实现动态改变shape.xml中图形的颜色
- 解决android.support.v4.content.FileProvide找不到的问题