java入门--4111:判断游戏胜者-Who Is the Winner
基础的题目 学习了StringBuilder, 通过delete来清空它 学了Map的简单用法
import java.util.*;
public class Main {
public static int onepart_count(String s) {
boolean newpart = false;
int cnt = 0;
for (int i = 0; i< s.length(); ++i) {
if (!newpart && s.charAt(i) == '1') {
cnt += 1;
newpart = true;
} else if (newpart && s.charAt(i) == '0')
newpart = false;
}
return cnt;
}
public static void main(String[] args) {
Map<Character, String> m = new HashMap<Character, String>();
m.put('0', "0000");
m.put('1', "0001");
m.put('2', "0010");
m.put('3', "0011");
m.put('4', "0100");
m.put('5', "0101");
m.put('6', "0110");
m.put('7', "0111");
m.put('8', "1000");
m.put('9', "1001");
m.put('a', "1010");
m.put('b', "1011");
m.put('c', "1100");
m.put('d', "1101");
m.put('e', "1110");
m.put('f', "1111");
Scanner scan = new Scanner(System.in);
int rowcount = scan.nextInt();
for (int i = 0; i < rowcount; ++i) {
String alice = scan.next();
String bob = scan.next();
StringBuilder sb = new StringBuilder();
for (int j = 2; j < alice.length(); ++j) {
Character c = alice.charAt(j);
sb.append(m.get(c));
}
int cnt_alice = onepart_count(sb.toString());
sb.delete(0, sb.length());
for (int j = 2; j < bob.length(); ++j) {
Character c = bob.charAt(j);
sb.append(m.get(c));
}
int cnt_bob = onepart_count(sb.toString());
if (cnt_alice > cnt_bob) {
System.out.println("Alice");
} else if (cnt_alice == cnt_bob) {
System.out.println("Tie");
}
else
System.out.println("Bob");
}
}
}
java入门--4111:判断游戏胜者-Who Is the Winner的更多相关文章
- 打字母的游戏&Java入门
目标: 在一个窗体上随机掉落字母,通过键盘输入,敲对后消除并且累计积分,否则扣除一定积分. 具体内容: 画一个窗体——>产生随机字母——>接受键盘输入——>显示分数 代码: pack ...
- Java 入门课程视频实战-0基础 上线了,猜拳游戏,ATM实战,欢迎围观
Java 入门课程视频实战-0基础 已经上传完了.欢迎小伙伴们过来围观 直接进入: http://edu.csdn.net/course/detail/196 课程文件夹例如以下: 1 初识Java ...
- Java入门系列之字符串创建方式、判断相等(一)
前言 陆续从0开始学习Java出于多掌握一门语言以后的路也会更宽,.NET和Java兼顾,虽然路还很艰难,但事在人为.由于Java和C#语法相似,所以关于一些很基础的内容不会再重头讲,Java系列中所 ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- 第1章Java入门体验
第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...
- Java入门记(五):容器关系的梳理(下)——Map
注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...
- Java入门(二)——果然断更的都是要受惩罚的。。。
断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...
- Java入门的程序汇总
Java入门的基础程序,虽然很简单,也要多练习,下面有重点的总结一下 1.HelloWorld这个不说了 2.常量与变量部分 基本数据类型使用 public class Javashujuleixin ...
- Java入门学习知识点汇总
Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...
随机推荐
- JQuery 学习笔记-2017.05.22
JQuery jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaScript 特效 ...
- 线程同步方式之互斥量Mutex
互斥量和临界区非常相似,只有拥有了互斥对象的线程才可以访问共享资源,而互斥对象只有一个,因此可以保证同一时刻有且仅有一个线程可以访问共享资源,达到线程同步的目的. 互斥量相对于临界区更为高级,可以对互 ...
- swift的关联类型
一.术语:指定类型 typealias:用于给关联类型指定类型: 通过类型推断给关联类型指定类型太过烧脑: 二.类型指定 1.具体类型实现协议后,直接指定:作为普通的泛型类型使用,指定类型即可: 2. ...
- Android Studio快捷键——编辑篇
Android Studio是官方推出的Android开发IDE,本系列讲解Android Studio中常用的快捷键,本文是该系列的第一篇,讲解的内容是与编辑代码相关的快捷键. 本文所讲快捷键基于A ...
- Nowcoder 提高组练习赛-R2
https://www.nowcoder.com/acm/contest/173#question T1:https://www.nowcoder.com/acm/contest/173/A 题意概述 ...
- php无限分类 下拉框
无限分类 下拉框优势:填写参数少,只需要指定一个循环节点($parnent_id),就可以循环所有下级分类.循环输出结构很有特色,比较符合我的口味.补充: $parent_id才是上下级关联的节点,i ...
- java基础设计模式1——单例模式
概念:在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为. 单例模式从实现上可以分为饿汉式单例和懒汉式单例两种,前者天生 ...
- Docker学习笔记 — 开启Docker远程访问
默认情况下,Docker守护进程会生成一个socket(/var/run/docker.sock)文件来进行本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker ...
- SQL_sql语言的学习
关系数据库SQL sql基本功能 SQLde 基本概念 主要知识点 1.外模式包含若干视图和部分基本表 2.模式包含若干基本表 3.内模式包含若干存储文件 4操作对象 基本表:本身独立存在的表,一个关 ...
- 2017-2018-2 20155224『网络对抗技术』Exp7:网络欺诈防范
基础问题回答 问:通常在什么场景下容易受到DNS spoof攻击? 同一局域网下,以及各种公共网络. 问:在日常生活工作中如何防范以上两攻击方法? 答:DNS欺骗攻击是很难防御的,因为这种攻击大多数本 ...