CCF2016.4 - B题
思路:创建两个bool数组来模拟下落过程,一个存放面板状态,一个存放下落的格子。检测格子和面板对应位置是否同时为True,如果是则有冲突,不能继续下落,否则增加行号。为了统一处理,我们把面板最下面加一行True。
import java.util.*;
public class Main {
static boolean[][] board = new boolean[20][20];
static boolean[][] block = new boolean[4][4];
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
for (int i = 0; i < 15; i++)
for (int j = 0; j < 10; j++)
board[i][j] = cin.nextInt() == 1;
for (int i = 0; i < 10; i++)
board[15][i] = true;
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
block[i][j] = cin.nextInt() == 1;
int c = cin.nextInt(), r = 0;
c--;
while (check(r + 1, c))
r++;
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
if (block[i][j])
board[r + i][c + j] = true;
for (int i = 0; i < 15; i++) {
for (int j = 0; j < 9; j++)
System.out.print((board[i][j] ? 1 : 0) + " ");
System.out.println(board[i][9] ? 1 : 0);
}
}
static boolean check(int r, int c) {
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
if (board[r + i][c + j] && block[i][j])
return false;
return true;
}
}
CCF2016.4 - B题的更多相关文章
- CCF2016.4 - C题
思路:先把路径按反斜杠split成数组,然后用一个ArrayList去模拟.如果遇到空或者.则不处理:如果遇到..则删除ArrayList最后一个元素(注意如果只有1个元素则不删除):其他情况直接加到 ...
- CCF2016.4 - A题
思路:枚举每个点,看看它是否同时小于/大于前一个点和后一个点 import java.util.Scanner; public class Main { public static void main ...
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- 【Java每日一题】20170106
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170105
20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170104
20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170103
20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- SQL面试笔试经典题(Part 1)
本文是在Cat Qi的原贴的基础之上,经本人逐题分别在MySql数据库中实现的笔记,持续更新... 参考原贴:http://www.cnblogs.com/qixuejia/p/3637735.htm ...
- 刷LeetCode的正确姿势——第1、125题
最近刷LeetCode比较频繁,就购买了官方的参考电子书 (CleanCodeHandbook),里面有题目的解析和范例源代码,可以省去非常多寻找免费经验分享内容和整理这些资料的时间.惊喜的是,里面的 ...
随机推荐
- D. Little Artem and Dance---cf669D
http://codeforces.com/problemset/problem/669/D 题目大意: 有n对人 男生和女生 开始时 每个人的标号是(1,2,3,...n) 女生们围成一个圈 男 ...
- maven之基础
一.配置maven的环境 下载地址:http://maven.apache.org/download.cgi(window下载(Binary zip)的) 将maven解压,然后配置环境变量打开: 计 ...
- SpringData,JPA,MongoDB,Solr,Elasticsearch底层逻辑关系
一: Spring-data底层的接口路基: spring-data : PagingAndSortingRepository-> CrudRepository-> Repository ...
- Office WORD里面打字,后面的字自动被删除怎么办
word或其他编辑器里打字以后其后面的字就被自动删除了-解决方案 2011-09-26 14:52:09| 分类: 电脑维护|字号 订阅 解决方法: 再按一下 Insert键 就OK啦 今天有 ...
- 区分Integer.getInteger和Integer.valueOf、Integer.parseInt() 的使用方法
Integer类有两个看起来很类似的静态方法,一个是Integer.getInteger(String),另外一个是Integer.valueOf(String).如果只看方法名称的话,很容易将这两个 ...
- 2016/04/29 ①cms分类 ② dede仿站制作 步骤 十个步骤 循环生成菜单 带子菜单的菜单 标签 栏目 栏目内容列表 内容图片列表
cms 系统还有: phpcms 企业站 Xiaocms 织梦 企业站 wordpress (博客) Ecshop 商城 Ecmall 多用户 Discms 记账 方维 订餐 团购 CMS ...
- make的特殊之处
1 规则的先后顺序问题 规则的先后顺序只会影响默认的目标,没有其它的影响. 2 make对具有相同目标的规则的处理方式 2.1 如果是单冒号 只能有一个规则是有命令的,然后对它们进行合并,即依赖合并. ...
- 两大数相乘 -- javascript 实现
(function (){ var addLarge = function(n1,n2){ var carry = 0; var ret = ""; n1=n1.toString( ...
- IDEA及时更新js代码
需要在Tomcat的设置中为: on ‘update‘ action:当用户主动执行更新的时候更新 快捷键:Ctrl + F9 on frame deactication:在编辑窗口失去焦点的时候更新 ...
- Buildroot用户指南【转】
本文转载自:http://www.voidcn.com/blog/bytxl/article/p-4727302.html 第一章 关于Buildroot Buildroot是一个包含M ...