中国海洋大学第四届朗讯杯高级组 Cash Cow(模拟)
题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2721
题意: 给定n个左标,跟那n个坐标相同的 且3个以上的消失,圈都 靠下, 而且 如果一整列都没有的话,就都往左靠。。。。
思路:比赛的时候没调试完,,,, 最坑爹的是,用后台数据测试都对了,结果还是wrong, 经过鑫哥指导。。。那些字符要以字符串的形式输入,
否则会wrong ,后台的原因不知道为什么。。。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
using namespace std; int dx[]= {,-,,};
int dy[]= {,,,-};
char G[][],map[][];
struct node
{
int x,y;
}a[]; struct point
{
int x,y;
}pos,next;
void bfs(int x1,int y1)
{
int i,j,k,count=;
int vis[][];
char ch;
char f;
f='a';
memset(vis,,sizeof(vis));
ch=G[x1][y1];
queue<point>q;
next.x=x1;
next.y=y1;
vis[x1][y1]=; q.push(next);
while(!q.empty())
{
pos=q.front();
q.pop();
count++;
for(i=; i<; i++)
{
next.x=pos.x+dx[i];
next.y=pos.y+dy[i];
if(!vis[pos.x+dx[i]][pos.y+dy[i]]&&G[pos.x+dx[i]][pos.y+dy[i]]==ch&&
pos.x+dx[i]>=&&pos.x+dx[i]<=&&pos.y+dy[i]>=&&pos.y+dy[i]<=)
{
vis[pos.x+dx[i]][pos.y+dy[i]]=;
q.push(next);
}
}
}
if(count>=)//刚开始 没看到这句with a cluster of 3 or more circles,
{
for(i=; i<=; i++)
for(j=; j<=; j++)
if(vis[i][j]==)
G[i][j]=f;
}
for(i=; i<=; i++)
{
for(j=; j>=; j--)//一定要倒着来,因为这个调试了好长时间。。。
{
if(G[i][j]==f)
{
for(k=j; k<=; k++)
{
G[i][k]=G[i][k+];
G[i][k+]=f;
}
}
}
}
for(i=; i>=; i--)//一定要倒着来,因为这个调试了好长时间。。。
{
if(G[i][]==f)
{
for(j=i; j<=; j++)
for(k=; k<=; k++)
{
G[j][k]=G[j+][k];
G[j+][k]=f;
}
}
}
}
int main()
{
int n,i,j,sum;
char ch;
char f;
f='a';
while(scanf("%d%*c",&n)!=EOF&&n)
{
sum=;
memset(G,,sizeof(G));
memset(map,,sizeof(map)); for(i=; i>=; i--)
cin>>map[i]; for(i=; i>=; i--)
{
for(j=; j<=; j++)
G[j][i]=map[i][j-];
}
for(i=; i<n; i++)
{
cin>>ch>>a[i].y;
a[i].x=ch-;
if(G[a[i].x][a[i].y]!=f)
bfs(a[i].x,a[i].y);
}
for(i=; i<=; i++)
for(j=; j<=; j++)
if(G[i][j]!=f)
sum++; printf("%d\n",sum);
}
return ;
}
中国海洋大学第四届朗讯杯高级组 Cash Cow(模拟)的更多相关文章
- 中国海洋大学第四届朗讯杯高级组 I Cuckoo for Hashing
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2719&cid=1203 题意 :意思就是哈希来的,具体大意就是说有两个哈希表,然后有这样 ...
- 中国海洋大学第四届朗讯杯高级组 A 2718 Rocky(模拟)
题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2718 题意:优先直走,右 左 后.... ...
- 中国海洋大学第四届朗讯杯高级组 A Rocky
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2718&cid=1203 题意:给你一个m乘n的格子阵,从一边进去,直线往前走,如果前边有 ...
- 腾讯云 安全组配置及与MySQL 远程登录失败原因浅析
前言,知道自己腾讯云服务器安全组配置并在安全组里开放了所有端口的用户可以粗略的看看下边的内容,否则就仔细看看吧. 因为有学习及业务需要,我要在腾讯云上安装了CentOS7.2版本的服务器上安装MySQ ...
- 第四届蓝桥杯C++B组省赛
1.高斯日记 2.马虎的算式 3.第39级台阶 4.黄金连分数 5.前缀判断 6.三部排序 7.错误票据 8.翻硬币 9.带分数 10.连号区间数
- 第四届蓝桥杯C++B组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜灯谜 A 村的元宵节灯会上有一迷题: 请猜谜 * 请猜谜 = 请边赏灯边猜 小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的 ...
- CF 3-6 2级组 D题 STRESSFUL TRAINING 紧张的比赛
题目大概是这样的: 给出一个数列a[n] ,对于每一个数 a [i] 来说 都会在 T - - 时 -= b[i] 每个数都在任何时刻不能小于0 你可以在每次T - - 之前时给 一 个 a[i] + ...
- [2020年10月28日普级组]1405.小B浇花
区 间 和 的 和 区间和的和 区间和的和 题目解析 就直接模拟,从最低的花的高度向最高的花的高度枚举,如果当循环变量的值到达了顶峰,但还有花的数量大于2的,就把循环上线加一(所以数组要开大些) Co ...
- [2020年10月28日普级组]1406.SMRTFUN
S M R T F U N SMRTFUN SMRTFUN 题目描述 "又肥又温顺,又大又笨,他们看起来那么傻,而且也不有趣--" 这些牛想要证明,他们是既有趣,又聪明的.为了这样 ...
随机推荐
- WordPress 后台禁用Google Open Sans字体,加速网站
解决方法很简单,安装启用 Disable Google Fonts 或者 Remove Open Sans font Link from WP core 其中之一即可.或者如果你没有使用WP自带的官方 ...
- java之StringBuffer
StringBuffer就是字符串缓冲区,用于存储数据的容器. 特点:长度可变,可存储不同类型的数据,最终转化成字符串使用,可以对字符串修改 功能: 添加:append(value), insert( ...
- Java实现mysql数据库备份
Runtime是一个与JVM运行时环境有关的类,这个类是Singleton的. Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法. ...
- jquer ajax
function SetValue() { var strCodeName = $("#MainContent_ddlFullNameAndFullName").val(); ) ...
- 【postgresql】创建自增SEQUENCE
CREATE SEQUENCE circlefence_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; alte ...
- Mac OS X 软件推荐
1. 前言 每个操作系统都有自己的一套软件系统,但是不同的用户却会有不同的需求,系统虽会为用户提供一些基础软件,不过为了能无碍的进入自己的学习和工作状态,总有一些软件是必须安装的,同时这些软件也可以 ...
- oc 中四种实例变量的范围类型@private@protected@public@package
To enforce the ability of an object to hide its data, the compiler limits the scope of instance vari ...
- Samza文档翻译 : Concepts
此页介绍啊Samza的一些高层级概念. Streams Samza处理Streams(流).流由同一类型的不可变的消息组成.例如,一个流可以是对一个网站的所有点击,或者对一个数据库表的所有更新,或者一 ...
- 软考类----编码、ASII码等
淘米2014实习生笔试,今年是淘米第一年招暑期实习生,笔试好大部分考的是软考的题目啊啊啊啊(劳资后悔当年没考软考刷加权),其他是浅而泛的风格,C++,SQL语句,数据结构(哈夫曼树,二叉查找树,栈后缀 ...
- java 布尔值一种赋值方法
在研读jmeter的代码时发现一个很常见的布尔值赋值方式,记录下来备忘: public static void main(String[] args) { // TODO Auto-generated ...