首页 > 编程语言 >CF 284B.Cows and Poker Game(Java实现)

CF 284B.Cows and Poker Game(Java实现)

时间:2025-01-18 19:56:47浏览次数:3  
标签:map Poker 亮牌 get 个数 CF re sc Java

题目分析

        奶牛也打扑克。一共有三种情况,简称AFI,并且只有自己为AI状态其余全部人为AF状态才可以亮手牌。

思路分析

        根据题目分析,针对三个不同状态分析情况:当且仅当有一个I时,唯有这个奶牛可以亮牌,如果I的个数大于1,一个也不能亮牌;当没有I时,判断A的个数,有多少个A就有多少个玩家可以亮牌;继而,当A也不存在是,一个奶牛都不能亮牌

代码


import java.io.IOException;
import java.util.*;

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();//存入奶牛个数
		sc.nextLine();//屯回车
		int re=0;//初始化答案
		HashMap<Character,Integer> map=new HashMap<>();//用哈希map记录每个状态对应的玩家数
		String input=sc.nextLine();//获取玩家状态
		for (int i=0;i< n;i++){
			map.merge(input.charAt(i),1,Integer::sum);//用merge函数存入键并初始化值和更新值
		}
		if (map.get('I')!=null){//当I存在个数不为0时
			if (map.get('I')==1){//当个数为1时
				re=1;//只有状态为I的奶牛可以亮牌,答案为1
			} else if (map.get('I')>1) {//个数大于1时
				re=0;//与其他所有玩家状态冲突,所以为0
			}
		}else {//如果I不存在即个数为0
			if (map.get('A')!=null){//如果A存在且个数不为0
				re=map.get('A');//有多少个A就能亮牌几位
			}//F不满足自己状态不考虑
		}
		System.out.println(re);
	}
}

        感谢您能够看到这里,一起见证小何同学的算法学习,如果您有不同的见解,希望能得到您的指点和点悟;如果您是和我一样的同学,也希望这篇文章能对您有所帮助。

标签:map,Poker,亮牌,get,个数,CF,re,sc,Java
From: https://blog.csdn.net/Dr_Si/article/details/145145732

相关文章

  • Java游戏源码:天天酷跑+大学生学习源码
    学习java朋友们,福利来了,今天小编给大家带来了一款天天酷跑源码。注意:此源码仅供学习使用!!视频演示https://githubs.xyz/show/209.mp4源码搭建和讲解代码采用原生java类库编写,利用javaswing作为界面框架,完整源码获取地址:gitee.com/hadluo/java_game01.git启动main入口:i......
  • 有一个包含开始日期和结束日期的数组,获取最小的日期和最大的日期,用java实现
    packagecom.cfb.oa.m;importjava.time.LocalDate;importjava.util.ArrayList;importjava.util.List;classDateRange{LocalDatestartDate;LocalDateendDate;publicDateRange(LocalDatestartDate,LocalDateendDate){this.startDate......
  • Java游戏源码:象棋网络对战版+大学生练手项目
    学习java朋友们,福利来了,今天小编给大家带来了一款象棋网络对战版源码。你可以学习到socket编程知识,还有基础的游戏编程知识。视频演示https://githubs.xyz/show/207.mp4源码搭建和讲解 代码采用原生java类库编写,利用javaswing作为界面框架,完整源码获取地址:gitee.com/hadl......
  • JavaScript 中的 `findIndex` 方法
    ......
  • JAVA-Exploit编写(1)--HttpURLConnection库使用
    目录1.HttpURLConnection简介2.创建HttpURLConnection请求.2.1HttpURLConnection的属性2.2设置相关的请求属性2.3 设置请求头参数3使用GET方法进行请求4.POST方法进行请求4.1常规使用4.2单独调用 5. 设置代理5.1 直接设置代理5.2 配置Proxy代理类 6.......
  • JAVA-Exploit编写(2)--HttpClient库使用
    目录1.HttpClient简介1.1ApacheHttpClient特性1.2 ApacheHttpClient使用流程2.依赖导入3.HttpClient属性4.GET方式请求4.1 test2.php4.2不携带参数请求 4.3 携带参数提交4.4 支持URIBuilder对象的使用 5.POST请求5.1test3.php5.2 单个参数提交......
  • 有一个包含开始时间和结束时间的数组,要求日期从早到晚有连贯性,不能出现重叠,用JAVA判断
    packagecom.cfb.oa.m;importjava.time.LocalDate;importjava.util.ArrayList;importjava.util.List;classDateRange{LocalDatestart;LocalDateend;publicDateRange(LocalDatestart,LocalDateend){this.start=start;th......
  • 图书馆管理系统javaweb(含数据库脚本)
    图书馆管理系统javaweb(含数据库脚本),tomcat7eclipsejdk1.8包含数据库文件列表BookLibrarySystem-master/.classpath , 9020BookLibrarySystem-master/.project , 1639BookLibrarySystem-master/.settings/.jsdtscope , 499BookLibrarySystem-master/.settings/org.ec......
  • Java入门学习Day2
    目录(一)Java01:Java帝国的诞生(二)Java02:特性与优势(三)Java03:三大版本(四)Java04:JDK、JRE、JVM(五)Java05:安装开发环境(六)Java06:HelloWorld详解(七)Java07:编译型和解释型(八)Java08:使用IDEA开发(一)Java01:Java帝国的诞生先附上学习的链接:b站狂神说Java入门011995年诞生三高......
  • Java 批量检测微信小程序封禁状态
    项目代码importjava.io.InputStreamReader;importjava.io.BufferedReader;importjava.net.HttpURLConnection;importjava.net.URL;importorg.json.JSONObject;publicclassMiniProgramStatusChecker{//要检查的小程序AppID列表privatestatic......