中国海洋大学第四届朗讯杯高级组 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 题目描述 "又肥又温顺,又大又笨,他们看起来那么傻,而且也不有趣--" 这些牛想要证明,他们是既有趣,又聪明的.为了这样 ...
随机推荐
- PHPNow升级PHP版本的方法
在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好的选择. PHPNow自带的PHP版本为5.2.14,而最后一次更新在于2010-9-22,PHP5.2对于现在 ...
- 什么是PRD、MRD与BRD
什么是PRD? 什么是MRD? 什么是BRD? 一.PRD的含义 英文简称,PRD(Product Requirement Document),PRD文档中文意思是:产品需求文档. PRD文档是产品项 ...
- Spark Streaming揭秘 Day10 从BlockGenerator看接收数据的生命周期
Spark Streaming揭秘 Day10 从BlockGenerator看接收数据的生命周期 昨天主要介绍了SparkStreaming中对于Receiver的生命周期管理,下面让我们进入到Re ...
- JavaScript之this,new,delete,call,apply
OS:Window 8.1 关键字:JavaScript,HTML,this,new,delete,call,apply. 1.this 一般而言,在Javascript中,this指向函数执行时的当 ...
- FatMouse
时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1431 解决:641 题目描述: FatMouse prepared M pounds of cat food, ready to t ...
- 【Cardboard】 体验 - Google Cardboard DIY及完成后简单体验
体验 - Google Cardboard DIY及完成后简单体验 今年的Google I/O最让我感兴趣的除了Material Design以外就是这个Google Cardboard了.据说是Go ...
- 10个优秀的Objective-C和iOS开发在线视频教程
如果你自己开发iOS应用,你肯定会发现网上有很多资源.学习编程的一个最好的方法就是自己写代码,而开始写代码的最快的方式就是看其他人怎么写.我们从海量视频和学习网站中整理出了我 如果你自己开发iOS应用 ...
- 【IOS】分享下近一年IOS开发的经验总结
从上个暑假末到现在,自己做IOS开发也快一年了.从一开始的什么都不知道,到现在大多事都能搭上一两手,期间经历了很多事情.下面来和大家分享一下心得和感触. 1.现在移动领域的知识更新的很快,无论是IOS ...
- 传统ASP.NET开发和MVC的设计思想
传统ASP.NET开发 第一步:客户端请求服务器: 第二步:服务器从数据库取得数据处理后响应给客户端页面. MVC的设计思想 第一步:客户端请求控制器(里面的一个方法): 第二步:控制器从数据库里取得 ...
- WCF获取客户端IP和端口
//提供方法执行的上下文环境 OperationContext context = OperationContext.Current; //获取传进的消息属性 MessageProperties pr ...