Week6限时大模拟 A - 掌握魔法の东东 II [Gym - 270437J]

2023-05-16

原题链接

https://vjudge.net/problem/Gym-270437J/origin

题意

在这里插入图片描述在这里插入图片描述

基本思路

本题数据规模不大, A × B ≤ 100 A×B≤100 A×B100。也就是说最多100张牌。开始已经选好了2张,我们要再从中选3张,然后统计所有选法中每种牌型各有多少。穷举所有情况时间复杂度为1e6,是可行的。至于穷举方法,可以使用多重循环,也可以用dfs。

对于判断牌型,好的办法是先排序然后再判断。但是一定要注意存储五张扑克牌的数组,不要让排序影响了其他情况的穷举。

完整代码

#include<iostream>
#include<algorithm>
using namespace std;
int A, B, N;
struct Poker{
	int a;
	int b;
	Poker(int a=0, int b=0)
	{
		this->a = a;
		this->b = b;
	}
	bool operator == (const Poker &p)
	{
		return a == p.a;
	}
	
	bool operator != (const Poker &p)
	{
		return a != p.a;	
	}
};

bool cmp1(const Poker &x, const Poker &y)
{
	return x.a<y.a;
}


int st[10];
Poker p[100];
Poker s[5];
Poker s0[5];
bool shunzi()
{
	bool flag = true;
	for(int i=0;i<4;i++)	flag = flag && (s0[i].a+1==s0[i+1].a);
	return flag;
}

bool tonghua()
{
	bool flag = true;
	for(int i=0;i<4;i++)	flag = flag && (s0[i].b==s0[i+1].b);
	return flag;
}

int elses()
{
	if(s0[0] == s0[4])	return 4;
	if(s0[0] != s0[1] && s0[1] == s0[4])	return 4;
	else if(s0[3] != s0[4] && s0[0] == s0[3])	return 4;
	
	else if(s0[0] == s0[1] && s0[2] == s0[4])	return 5;
	else if(s0[0] == s0[2] && s0[3] == s0[4])	return 5;
	
	else if(s0[0] == s0[1] && s0[2] == s0[3])	return 6;
	else if(s0[0] == s0[1] && s0[3] == s0[4])	return 6;
	else if(s0[1] == s0[2] && s0[3] == s0[4])	return 6;
	
	else if(s0[0] == s0[1] && s0[1] == s0[2])	return 7;
	else if(s0[1] == s0[2] && s0[2] == s0[3])	return 7;
	else if(s0[2] == s0[3] && s0[3] == s0[4])	return 7;
	
	else if(s0[0] == s0[1] || s0[1] == s0[2] || s0[2] == s0[3] || s0[3] == s0[4])	return 8;
	else return 9;
	
	return 0;
}
int judge()
{
	for(int i=0;i<5;i++)	{s0[i].a = s[i].a;s0[i].b = s[i].b;} 
	sort(s0, s0+5, cmp1);
	bool st2 = shunzi();
	bool st3 = tonghua();
	if(st2 && st3)	return 1;
	else if(st2)	return 2;
	else if(st3)	return 3;
	else return elses();
	return 0;
}
int main ()
{
	cin>>A>>B;
	cin>>s[0].a>>s[0].b;
	cin>>s[1].a>>s[1].b;
	int cnt=0;
	for(int i=0;i<A;i++)
	{
		for(int j=0;j<B;j++)
		{
			if((i == s[0].a && j == s[0].b) || (i == s[1].a && j == s[1].b))	continue;
			p[N++] = Poker(i, j);

		}
	}
	
	
	for(int i=0;i<N;i++)
	{
		s[2].a = p[i].a;	s[2].b = p[i].b;
		for(int j=i+1;j<N;j++)
		{
			s[3].a = p[j].a;	s[3].b = p[j].b;
			for(int k=j+1;k<N;k++)
			{
				s[4].a = p[k].a;	s[4].b = p[k].b;
				st[judge()]++;
			}
		}
	}
	cout<<st[1];
	for(int i=2;i<=9;i++)	cout<<" "<<st[i];
	return 0;
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Week6限时大模拟 A - 掌握魔法の东东 II [Gym - 270437J] 的相关文章

  • Week6限时大模拟 A - 掌握魔法の东东 II [Gym - 270437J]

    原题链接 https vjudge net problem Gym 270437J origin 题意 基本思路 本题数据规模不大 xff0c A B 100 A B 100
  • A - 掌握魔法の东东 II(Week6模拟考试)

    题目 从瑞神家打牌回来后 xff0c 东东痛定思痛 xff0c 决定苦练牌技 xff0c 终成赌神 xff01 东东有 A B 张扑克牌 每张扑克牌有一个大小 整数 xff0c 记为a xff0c 范围区间是 0 到 A 1 xff09 和
  • Gym - 102470C Lights

    Statement G i v e n v
  • Gym - 101291I Mismatched Socks(贪心)

    题目 Fred likes to wear mismatched socks This sometimes means he has to plan ahead Suppose his sock drawer has 1 red 1 blu
  • [GYM 101755]Restoring Numbers

    题面描述 已知两个正整数a b的和s与最大公约数g xff0c 求a b 输入格式 一共一行 xff0c 包含两个正整数 s g 输出格式 一共一行 xff0c 若有解输出 a b 否则输出 1 样例数据 样例输入 6 2 样例输出 4 2
  • 掌握魔法の东东 II(模拟)

    问题描述 hspace 17pt 从瑞神家打牌回来后 xff0c 东东痛定思痛 xff0c 决定苦练牌技 xff0c 终成赌神 xff01 hspace 17pt 东东有 A B 张扑克牌 每张扑克牌有一个大小 整数 xff0c
  • WEEK6 限时测试A - 掌握魔法の东东 II

    A 掌握魔法 东东 II 题目描述 从瑞神家打牌回来后 xff0c 东东痛定思痛 xff0c 决定苦练牌技 xff0c 终成赌神 xff01 东东有 A B 张扑克牌 每张扑克牌有一个大小 整数 xff0c 记为a xff0c 范围区间是
  • week6限时大模拟A - 掌握魔法の东东 II Gym - 101510B

    week6限时大模拟A 掌握魔法 东东 II Gym 101510B A 掌握魔法 东东 II Gym 101510B题目描述输入输出格式及样例思路实验代码 A 掌握魔法 东东 II Gym 101510B 题目描述 从瑞神家打牌回来后 x
  • week6 限时大模拟 A - 掌握魔法の东东 II

    题意 思路 创建一个pair lt int int gt 类型的数组a xff0c 用来保存一副牌的花色以及大小 运用stl的vector xff0c 来存储手牌shoupai xff0c 随后使用dfs搜索 xff0c 数组a里的牌在手牌
  • AttributeError: module ‘gym.envs.atari‘ has no attribute ‘atari_env‘ 解决方案

    问题描述 今天在执行以下代码时 xff1a is atari 61 hasattr gym envs 39 atari 39 and isinstance env unwrapped gym envs atari atari env Ata
  • gym ValueError: too many values to unpack (expected 4) 解决方案

    问题描述 今天在执行以下代码时出现了题述错误 xff1a new obs rew done info 61 self env step action new obs rew done info 61 self env step action
  • Week2 实验 A - 化学 Gym - 270437A

    题目 甄别烷烃基的类别 假设如上图 xff0c 这个烷烃基有6个原子和5个化学键 xff0c 6个原子分别标号1 6 xff0c 然后用一对数字 a b 表示原子a和原子b间有一个化学键 这样通过5行a b可以描述一个烷烃基 输入第一行为数
  • Week6限时模拟-掌握魔法の东东 II

    week6限时模拟 掌握魔法 东东 II 思路 xff1a 考虑使用结构体表示牌 xff0c 使用数组表示所有牌 xff0c 之后问题转化为从A B张牌中选出三张牌 xff0c 并且三张牌不是初始的两张牌 xff0c 对于5张牌进行判断类型
  • 2016 Team Training #21 Gym 100952 A D E F J

    A 水题 题意 xff1a 两个人的时间分别是时 xff0c 分 xff0c 秒输入 xff0c 也就是让我们输出谁时间最早呗 思路 xff1a 没有思路直接上 xff0c 看手速了 xff08 我敲代码速度慢 xff09 代码如下 xff
  • 掌握魔法の东东 II Gym-270437

    题目 从瑞神家打牌回来后 xff0c 东东痛定思痛 xff0c 决定苦练牌技 xff0c 终成赌神 xff01 东东有 A B 张扑克牌 每张扑克牌有一个大小 整数 xff0c 记为a xff0c 范围区间是 0 到 A 1 xff09 和
  • 【Anaconda环境】安装gym+pytorch

    1 创建conda新环境 conda create name gymTorch python 61 3 7 conda activate gymTorch xff08 进入新环境 xff09 python如果为3 6版本 xff0c 在导入
  • RL

    Catalogue DQN Framework Application 1 1 Cartpole Introduction 1 2 Code 1 3 Result Reference DQN Framework The agent inte
  • Ubuntu16.04LTS下搭建强化学习环境gym、tensorflow

    1 安装Anaconda 去清华镜像下载anaconda3 4 3 0 linux x86 64 sh 然后在终端中输入以下命令进行安装 cd downloads bash anaconda3 4 3 0 linux x86 64 sh2
  • 关于OpenAI的Gym中的step方法

    文章目录 导读 Gym的step方法 最后的话 导读 本文就只是关于step方法的参数与返回值的一个小小的学习笔记 这也是没有第一时间查官方文档而造成的时间消耗 所以 这篇博客就是逼自己查一下 Gym的step方法 既然都已经用pip下载了
  • gym 101512 BAPC 2014 I Interesting Integers

    Problem codeforces com gym 101512 attachments vjudge net contest 186506 problem I Meaning 给出一个 正整数 n 要找尽量小的 a 和 b a lt b

随机推荐

  • 中兴BA510(中国移动定制机)进工程模式恢复IMEI

    1 拨号盘输入 3646633 再拨号 xff0c 或者 3646633 xff0c 进入工程模式 2 找到RADIO information xff1a phone 1输入 AT 43 EMGR 61 1 7 34 IMEI号码1 34
  • excel 2007的筛选和自定义筛选及复制选中的筛选内容

    筛选 xff1a 选中行 xff0c 按快捷键 xff1a ALT 43 D 43 F 43 F 弹出自定义筛选 xff1a 选中列 xff0c 按快捷键 xff1a ALT 43 43 F 43 F 复制选中的筛选出来的内容 xff1a
  • Java编译环境在新版windows10中的设置

    最近升级了windows10最新版 xff0c 发现系统环境变量变了模样 xff0c 需要单独设置每个路径 xff0c 前版本 xff1a 变量名 xff1a Path 变量值 xff1a JAVA HOME bin JAVA HOME j
  • Windows系统与debian系统双系统安装

    1 资源网址 xff1a https msdn itellyou cn 下载 Windows 8 1 Pro 系统映像 xff1b 使用软碟通 xff08 UltraISO xff09 刻录安装镜像到U盘 xff1b 开机进入BIOS将其设
  • Win10使用Xrdp脚本远程桌面连接Ubuntu主机

    目录 使用场景 环境 安装步骤 远程桌面连接 使用场景 在Ubuntu主机上安装xrdp服务 xff0c windows远程桌面连接ubuntu主机 xff0c 方便快捷 尝试了网上一些方法 xff0c 繁琐且很多卡在远程桌面登录界面 xf
  • cef中js与C++交互

    cefquery方式交互 前端使用 window span class token punctuation span span class token function cefQuery span span class token punc
  • CodeForces 347C Alice and Bob

    在一个有n个不同数的集合里面 xff0c Alice 和Bob分别任选两个数 xff0c x y 要求 x y 不在集合中 xff0c 如果有一个人不能选 xff0c 则输了 xff0c Alice 先选择 求最后的胜利者 分析 xff0c
  • gopls安装失败后,解决问题的后续思路

    gopls安装失败后 xff0c 解决问题的后续思路 文档不严谨 xff0c 问题没有得到根本解决 xff0c 仅作为解决思路和现有线索的一个记录 vim go要求安装一个gopls的依赖包 xff0c 尝试的解决方法 但是直接安装的时候
  • 树莓派3B 环境搭建

    目录 前期准备获取系统格式化SD卡给SD卡烧录系统镜像上电调试查询树莓派IP在路由器中查看连入的设备分配的IP 查看PC的ARP表SSH连接配置树莓派 前期准备 首先 xff0c 需要一块树莓派3B 3B 43 的开发板 xff0c 然后需
  • 不想使用notepad++,快使用notepad--来替换

    相信越来越多的人已经认识到notepad 43 43 作者的可恶了 xff0c 我曾经也是notepad 43 43 的使用者 xff0c 当我看到它的作者一个台湾人 xff0c 明目张胆的利用软件开始宣传他的错误观点后 xff0c 便觉得
  • 替代Notepad++,可以试下notepad--,专门针对Notepad++替代而开发的简洁编辑器

    Nopepad 是一款使用C 43 43 编写的文本编辑器 可以支持Win Linux Mac平台 目标是要替换Notepad 43 43 xff0c 重点在国产Uos系统 Mac 系统上发展 一个支持windows linux mac的文
  • 把国外软件替换出去!Notepad--

    有程序员同行说 xff0c 自己不甘心只打工 xff0c 还想做点什么 对此我深有感触 打工十多年了 xff0c 除了颈椎越来越僵硬 xff0c 年岁越来越大 xff0c 被老板嫌弃以外 xff0c 没有其它可以拿出手的东西 我们都忘记了
  • 广播机制

    1 Android中的广播主要可以分为两种类型 xff0c 标准广播和有序广播 1 标准广播 xff08 Normal broadcasts xff09 是一种完全异步执行的广播 xff0c 在广播发出之后 xff0c 所有的广播接收器几乎
  • 洛谷——P3366 【模板】最小生成树

    题目描述 如题 xff0c 给出一个无向图 xff0c 求出最小生成树 xff0c 如果该图不连通 xff0c 则输出orz 输入格式 xff1a 第一行包含两个整数N M xff0c 表示该图共有N个结点和M条无向边 xff08 N lt
  • 网易云音乐缓存转换至mp3(Python实现)

    网易云音乐越来越多歌曲成VIP了 收获大批固定用户后 xff0c 开始恰饭了 利用python从缓存文件中获取MP3主要包括以下流程 xff1a 1 对缓存文件的数据和0xa3 163 进行异或 运算 2 用歌曲ID用网易云提供的API去获
  • Week4 作业 A - DDL 的恐惧【贪心算法】

    题目大意 给定n个作业ddl xff0c 以及每个作业如果没有按时完成扣掉的分数 ddl和分数都用整数表示 xff0c 一天可以完成一个作业 xff0c 求最少得扣多少分 输入 输入包含T个测试用例 输入的第一行是单个整数T xff0c 为
  • 关于如何快速删除流氓进程AlibabaProtect

    本人由于安装优酷客户端 删除后客户端后发现被莫名其妙安装了AlibabaProtect的文件夹和相关进程 而且打开任务管理器 xff0c 发现该进程还相当的吃资源 据介绍 该进程相当的流氓 但是却无法直接结束该进程 c盘下的 Program
  • Week4 作业 C - TT的神秘礼物【二分答案】

    题目描述 TT 是一位重度爱猫人士 xff0c 每日沉溺于 B 站上的猫咪频道 有一天 xff0c TT 的好友 ZJM 决定交给 TT 一个难题 xff0c 如果 TT 能够解决这个难题 xff0c ZJM 就会买一只可爱猫咪送给 TT
  • Week5 作业D - 滑动窗口[POJ - 2823]

    题目大意 输入 输出 基本思路 这个题的数据规模较大 xff0c k和n最大可以达到1e6 xff0c 因此如果我们暴力判断所有区间 窗口内元素的范围 中的最大值和最小值一定会超时 复杂度 O n 2
  • Week6限时大模拟 A - 掌握魔法の东东 II [Gym - 270437J]

    原题链接 https vjudge net problem Gym 270437J origin 题意 基本思路 本题数据规模不大 xff0c A B 100 A B 100