[BNUZOJ1261][ACM][2016北理校赛]方块消除(栈,字符串)
玩过方块消除游戏吗?
现在规定当有两个或两个以上相邻且颜色相同的方块在一起的时候,它们就会产生消除反应。当存在多个消除反应同时产生时,最下的反应先执行。
现在只给你其中一列,求最后剩下的方块结果。
输入要求
第一行是一个整数T(T<=100),表示有T组测试数据。
每组测试数据一行。
每行有一串数字(数字长度<=1,000,000),按从下往上给出一列方块的颜色(颜色用0-9表示,每个数字代表一种颜色)。
(数字长度大于100,000的不超过5组)
输出要求
输出消除后的结果。
测试数据示例
输入
2
1800081
180008945541
输出
(空行)
package bnuzoj1261;
import java.util.Scanner;
public class Main {
public static void run( String str ) {
StringBuffer sb = new StringBuffer();
char[] chs = str.toCharArray();
sb.append( chs[ 0 ] );
for( int i = 1; i < str.length(); ) {
if(sb.length() < 1){
sb.append( chs[i] );
i++;
}
else if( chs[ i ] != sb.charAt( sb.length()-1 ) ) {
sb.append( chs[i] );
i++;
} else {
if( chs[i] == sb.charAt( sb.length()-1 )){
do{
i++;
}while(i<chs.length && chs[i] ==sb.charAt( sb.length()-1 ));
sb.delete(sb.length()-1,sb.length());
}
}
}
System.out.println( sb.toString() );
}
public static void main( String[] args ) {
Scanner sc = new Scanner( System.in );
int T = sc.nextInt();
while( T-- > 0 ) {
String str = sc.next();
run( str );
}
}
}
Ps:注意消除是左边优先.
[BNUZOJ1261][ACM][2016北理校赛]方块消除(栈,字符串)的更多相关文章
- 北邮校赛 I. Beautiful Array(DP)
I. Beautiful Array 2017- BUPT Collegiate Programming Contest - sync 时间限制 1000 ms 内存限制 65536 KB 题目描述 ...
- 北邮校赛 H. Black-white Tree (猜的)
H. Black-white Tree 2017- BUPT Collegiate Programming Contest - sync 时间限制 1000 ms 内存限制 65536 KB 题目描述 ...
- 北邮校赛 F. Gabriel's Pocket Money(树状数组)
F. Gabriel's Pocket Money 2017- BUPT Collegiate Programming Contest - sync 时间限制 2000 ms 内存限制 65536 K ...
- Nowcoder 北师校赛 B 外挂使用拒绝 ( k次前缀和、矩阵快速幂打表找规律、组合数 )
题目链接 题意 : 中文题.点链接 分析 : 有道题是问你不断求前缀和后的结果 Click here 这道题问的是逆过程 分析方法雷同.可参考 Click here ----------------- ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- 2014上半年acm总结(1)(入门+校赛)
大一下学期才开始了acm,不得不说有一点迟,但是acm确实使我的生活充实了很多,,不至于像以前一样经常没事干= = 上学期的颓废使我的c语言学的渣的一笔..靠考前突击才基本掌握了语法 寒假突然醒悟, ...
- 2014哈商大ICPC/ACM校赛解题报告
被debug邀请去參加校赛,哎,被虐..我对不起工大.. 由于本人不搞ACM,算法处于HelloWorld水准.. 虽然题目除了鸟不拉屎星人之外都非常水,但我能做到这个程度,全然是超水平发挥了.. 数 ...
- 【ACM之行】◇第一站◇ 2018HDU多校赛总结
◇第一站◇ 2018HDU多校赛 十场多校赛下来,也算是给一个初中生开了眼界……看着清华一次次AK(默默立下flag),看着自己被同校的高中生完虐,一个蒟蒻只能给dalao们垫脚
- 2018.10.2浪在ACM 集训队第二次测试赛
2018.10.26 浪在ACM 集训队第二次测试赛 题目一览表 来源 考察知识点 A 1273 海港 NOIP 普及组 2016 差分数组+二分 B 1274 魔法阵 C 1267 金币 ...
随机推荐
- Java经典案例之-判断质数(素数)
/** * 描述:任意输入两个数n,m(n<m)判断n-m之间有多少个素数,并输出所有素数. * 分析:素数即质数,除1和本身之外,不能被其他自然数整除的数. * 判断素数的方法为:用一个数分别 ...
- JVM 参数设置
YGC FGC 都会影响程序的运行,中断程序,JVM参数调整比较复杂,现在记录了一下平时常用的JVM参数: jar 包启动: usr/java/bin/java -jar -Xms2560m -Xmx ...
- 结合social relationship的推荐系统(持续更新)
最近看了一些结合社会关系的推荐系统,把论文罗列一下: (TidalTrust) Generating predictive movie recommendations from trust in so ...
- 第一个Servlet程序及分析
第一个Servlet程序: package cc.openhome; import java.io.IOException; import java.io.PrintWriter; import ja ...
- FLV格式详解
Overview Flash Video(简称FLV),是一种流行的网络格式.目前国内外大部分视频分享网站都是采用的这种格式. File Structure 从整个文件上开看,FLV是由The FLV ...
- KB奇遇记(6):搞笑的ERP项目团队
早在我们来之前,KB公司这边就已经组建了ERP项目组了,当时IT就只有一个人,属网管出身.而关键用户分两种类型:专职关键用户和兼职关键用户.专职关键用户组织结构上已经调动到信息部,常驻在项目组里工作, ...
- 详解googe Chrome浏览器(理论篇)
开篇概述 1详解google Chrome浏览器,这个标题似乎抽象了一些,我想应该把它拆分成如下几个问题,也许会更加理解一些. 问题1:目前开发中,主选浏览器有Google Chrome,IE,Fir ...
- react+redux构建淘票票首页
react+redux构建淘票票首页 描述 在之前的项目中都是单纯的用react,并没有结合redux.对于中小项目仅仅使用react是可以的:但当项目变得更加复杂,仅仅使用react是远远不够的,我 ...
- JAVA版A星算法实现
import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; import java.u ...
- Python学习--17 进程和线程
线程是最小的执行单元,而进程由至少一个线程组成.如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间. 进程 fork调用 通过fork()系统调用,就可以生成一个子进程 ...