Week6限时模拟-掌握魔法の东东 II

2023-05-16

week6限时模拟-掌握魔法の东东 II

思路:
  • 考虑使用结构体表示牌,使用数组表示所有牌,之后问题转化为从A*B张牌中选出三张牌,并且三张牌不是初始的两张牌,对于5张牌进行判断类型即可。选出三张牌直接循环枚举即可。
  • 注意:主要是牌的类型判断出现过逻辑上的错误。在判断之前先排序便于后序操作。
实现:
#include<iostream>
#include<algorithm> 
using namespace std;
struct card
{
	int a,b;
	card(){};
	card(int a1,int b1)
	{
		a=a1;
		b=b1;
	};
	void operator=(card x)
	{
		a=x.a;
		b=x.b;
	};
};
card x[110];
int A,B,a1,b1,a2,b2,n;
int shunzi[5];
int ans[10]={0};
bool vis[110][110][110]={0};
int check(int c1,int c2,int c3)
{
	//c1 c2 c3为下标
	bool flag2=0,flag3=0;	
	{
		shunzi[0]=x[c1].a;
		shunzi[1]=x[c2].a;
		shunzi[2]=x[c3].a;
		shunzi[3]=a1;
		shunzi[4]=a2;
	}
	sort(shunzi,shunzi+5);
	flag2=1;
	for(int i=0;i<4;++i)
	{
		if(shunzi[i]+1!=shunzi[i+1])
		{
			flag2=false;
			break;
		}
	}
	if(b1==b2) 
	{
		if(x[c1].b==x[c2].b && x[c3].b==x[c2].b && b1==x[c1].b)
			flag3=true;
	}
	if(flag2 && flag3)
	return 1;
	else if(flag2)
	return 2;
	else if(flag3)
	return 3;
	
	int count=0;
	if(shunzi[0]==shunzi[3] || shunzi[1]==shunzi[4])
	return 4;
	if((shunzi[0]==shunzi[2]&&shunzi[3]==shunzi[4])
	 || (shunzi[0]==shunzi[1] && shunzi[2]==shunzi[4]))
	return 5;
	if((shunzi[1]==shunzi[2] && shunzi[3]==shunzi[4])
	 || (shunzi[0]==shunzi[1] && shunzi[3]==shunzi[4])
	 ||(shunzi[0]==shunzi[1] && shunzi[2]==shunzi[3]))
	return 6;
	if(shunzi[0]==shunzi[2] || shunzi[1]==shunzi[3] || shunzi[2]==shunzi[4])
	return 7;
	for(int i=0;i<4;++i)
	{
		if(shunzi[i]==shunzi[i+1])
		return 8;
	 } 
	 return 9;
}

bool check2(int i,int j,int k)
{
	if((x[i].a==a1 &&x[i].b==b1) || (x[j].a==a1&&x[j].b==b1)
	|| (x[k].a==a1 &&x[k].b==b1) || (x[j].a==a2&&x[j].b==b2)
	|| (x[i].a==a2&&x[i].b==b2)  || (x[k].a==a2&&x[k].b==b2))
	return false;
	return true;
	
}

int main()
{
	scanf("%d %d",&A,&B);
	scanf("%d %d %d %d",&a1,&b1,&a2,&b2);
	for(int i=0;i<A;++i)
	{
		for(int j=0;j<B;++j)
		{
			int cur=i*B+j;
			x[cur].a=i;
			x[cur].b=j;
		}
	}
	n=A*B;
	int f;
	for(int i=0;i<n-2;++i)
	{
		for(int j=i+1;j<n-1;++j)
		{
			for(int k=j+1;k<n;++k)
			{
				if(check2(i,j,k))
				{
					f=check(i,j,k);
					ans[f]++;
				}
			}
		}
	}
	for(int i=1;i<10;++i)
	cout<<ans[i]<<" ";
	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Week6限时模拟-掌握魔法の东东 II 的相关文章

  • linux下C++连接mysql查询数据

    windows下使用C 43 43 连接mysql相对繁琐 xff0c 这里直接在linux下通过C 43 43 连接mysql xff0c 执行查询操作 linux下连接mysql xff0c 需要本机有libmysqlclient库文件
  • linux下C++连接redis

    linux下c 43 43 连接redis 需要安装redis 同时还需要安装hiredis xff0c hiredis是c 43 43 操作redis的api库 redis的安装这里不介绍了 xff0c 很多教程 这里直接从hiredis
  • sqlite3简单入门

    linux上一般默认是自带了sqlite3的 xff0c 所以学习sqlite3 xff0c 最好使用linux 这样可以跳过安装这一步 开始 xff0c 我们可以直接运行sqlite3 testsqlite3 db databases 可
  • linux下C++连接sqlite3

    linux下 xff0c c 43 43 连接sqlite3 xff0c 不需要额外的安装依赖库 xff0c linux自带了sqlite3 xff0c 在编译的时候 xff0c 只需要将sqlite3的库加入编译参数中即可 sqlite3
  • mongodb查询两个字段做加减乘除操作

    和使用关系型数据库一样 xff0c 我们在使用mongodb的时候 xff0c 我们希望有这样的操作 xff0c 就是查询两个字段的乘积或者和 xff0c 这就需要用到聚合查询了 xff0c 聚合查询的语法大致如下 xff1a db use
  • mongodb副本集oplogSize设置过小的问题

    mongodb副本集构建的高可用方案 xff0c 最少需要三个节点 xff0c 一个主节点master xff0c 一个从节点slave xff0c 一个选举仲裁节点arbiter 当主节点奔溃的时候 xff0c 仲裁节点选举从节点来接替主
  • mongodb开启安全认证

    默认 xff0c mongodb不开启安全认证 xff0c 通过mongo shell访问 xff0c 我们会看到mongo shell报出警告 xff1a 后面两个警告很好解决 xff1a 按照提示 xff0c 我们修改 sys kern

随机推荐

  • CCF-201809-3-元素选择器

    题目很长 xff0c 大家自行去官网看 第三题还是一如既往的是大模拟 xff0c 模拟css元素选择器 xff0c 有接触过前端的同学对此不陌生了吧 以前学css的时候就想过层叠样式表的实现 xff0c 但是也没细究 ccf第三题有出过ma
  • hbase shell命令行下常见操作

    hbase是基于hadoop的列簇数据库 xff0c 是nosql的一种 当我们搭建了hbase环境之后 xff0c 可以通过hbase shell命令 xff0c 进入hbase的命令行下 xff0c 可以进行创建表 xff0c 添加数据
  • redis高可用sentinel哨兵模式环境搭建

    redis高可用需要保证 xff0c 在主节点崩溃的时候 xff0c 从节点能够成为主节点 xff0c 继续提供服务 默认来说主从模式master slave就能做到这一点 xff0c 但是在实际环境中 xff0c 客户端连接的是指定的主机
  • win7笔记本电脑设置WiFi热点

    一般情况下 xff0c 我们是利用路由器设置WiFi热点 xff0c 但是如果没有路由器 xff0c 而有网线 xff0c 我们可以利用笔记本电脑来设置WiFi热点 xff0c 这里介绍如何通过笔记本电脑连接网线设置WiFi热点 笔记本电脑
  • 脚本之家上的一道题:如何通过findstr查找80和443端口记录

    一般来说 xff0c 我们都是在linux上编写bash脚本 xff0c 如果是在windows系统上 xff0c 我们就需要编写批处理脚本bat来处理相关业务逻辑 脚本之家上有这么一道题 xff1a 需要找到80 443端口的记录 xff
  • scylladb:利用java api操作scylladb数据库

    博客上全是关于scylladb的介绍和性能对比 xff0c 很少有scylladb方面的干货 xff0c 这里从scylladb官网各种文档里面整合出一个java版的例子 xff0c 例子中展示如何连接scylladb xff0c 如何加载
  • scylladb:设置监听主机IP为非默认localhost

    前面介绍了通过scylladb提供的driver xff0c 编写java代码 xff0c 然后操作scylladb数据库 但是因为scylladb默认采用的监听地址是localhost即127 0 0 1 xff0c 如果想从外部连接sc
  • mysql修改记录时update 字段=字段+字符串

    在有些场景下 xff0c 我们需要对我们的varchar类型的字段做修改 xff0c 而修改的结果为两个字段的拼接或者一个字段 43 字符串的拼接 如下所示 xff0c 我们希望将xx role表中的name修改为name 43 id 在m
  • MySQL存储过程入门

    存储过程是一种在数据库中存储复杂程序 xff0c 以便外部程序调用的一种数据库对象 存储过程是为了完成特定功能的SQL语句集 xff0c 经编译创建并保存在数据库中 xff0c 用户可以通过指定存储过程的名字并给定参数来调用执行 存储过程思
  • MySQL批量插入优化

    前面介绍了MySQL批量插入可以通过存储过程的方式来实现 xff0c 这里介绍批量插入100W记录 xff0c 并做一个优化 建表语句 xff1a create table sql drop table if exists xx user
  • MySQL数据库演示内连接左外连接右外连接的区别

    sql中join的出现解决了from tableA a tableB b where a id 61 b id连接查询做笛卡尔积的问题 xff0c 而join连接查询除了条件使用关键字on取代了where之外 xff0c 他本身的连接又分为
  • Linux基础教程: 4、用户组和用户的创建

    其实在我们安装完成一个linux的系统过程中 xff0c 会需要我们输入用户名和密码 xff0c 据我所知 xff0c 这个时候会自动创建一个用户和一个以用户名命名的用户组 xff0c 但是奇怪的就是我们这个用户并没有在这个组下面他仅仅是创
  • postgresql主从复制配置

    postgresql主从复制是一种高可用解决方案 xff0c 可以实现读写分离 postgresql主从复制是基于xlog来实现的 xff0c 主库开启日志功能 xff0c 从库根据主库xlog来完成数据的同步 主从复需要注意的地方 xff
  • postgresql导出表结构以及数据到mysql

    postgresql导出的表结构在语句上会和mysql有些差异 xff0c 因此当我们在mysql命令行中执行的时候 xff0c 会有警告和错误提示 xff0c 但是最终还是会将表生成成功 xff0c 这里将表结构和数据分别单独导出 xff
  • BootstrapTable简单的使用

    Bootstrap table是国人开发的一款基于 Bootstrap 的 jQuery 表格插件 xff0c 通过简单的设置 xff0c 就可以拥有强大的单选 多选 排序 分页 xff0c 以及编辑 导出 过滤 xff08 扩展 xff0
  • 题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

    define CRT SECURE NO WARNINGS include lt stdio h gt include lt stdlib h gt include lt string h gt 题目 xff1a 809 61 800 43
  • QQ空间迁移_【Proxmox_使用国内源安装ceph】

    Proxmox 使用国内源安装ceph 2020 12 13 20 21 35 使用web 页面安装ceph 会自动更新ceph list 源为国外的官网文件 xff0c 那速度太慢了 通过后台查看运行的命令 apt get no inst
  • PROXMOX 防火墙的奇怪问题

    第一次遇到这个问题是这样的 xff0c 一旦开启PROXMOX 的群集防火墙 xff0c prokvm云管平台的认证机制就失效 最奇怪的是一定要删除 etc pve firewall目录下的cluster fw文件并重启物理服务器 xff0
  • 为内网服务器建立私有pip仓库源

    项目场景 xff1a 在高校和企业中 xff0c 处于安全的考虑 xff0c 公司和实验室的重要服务器会隔绝外网的访问 xff0c 只能内网访问 在这些服务器上运行代码 xff0c 就会很难从网上下载数据 xff0c 安装或更新python
  • Week6限时模拟-掌握魔法の东东 II

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