计蒜客/阿里的新游戏
阿里九游开放平台近日上架了一款新的益智类游戏——成三棋。成三棋是我国非常古老的一个双人棋类游戏,其棋盘如下图所示:
成三棋的棋盘上有很多条线段,只能在线段交叉点上放入棋子。我们可以用坐标系来描述棋盘:
如果一条线段上的三个交叉点都被同一玩家的棋子占据的话,则称这条线段被该玩家 成三。现在,小红和小明两人在游戏平台上下棋,其中小红的棋子是黑色的。请你帮小红计算他成三的线段数。
样例对应的棋盘如下:
输入格式
输入第一行两个整数 n,m(3 \le n, m \le 9)n,m(3≤n,m≤9),nn 表示小红的棋子数,mm 表示小明的棋子数。
接下来 nn 行输入小红的棋子坐标。
接下来 mm 行输入小明的棋子坐标。
输入保证坐标合法,并且棋子之间不重合。
输出格式
输出小红成三的线段数。
样例输入
6 3
-1 0
-2 0
-3 0
-1 -1
-1 1
1 0
0 2
0 3
2 2
样例输出
2
我的思路比较简单,先把输入的数据存放在二维数组a[10][2]里,然后分别以行、列的方式遍历该数组,对该数组中横、纵坐标相同的点进行分类,-3到3的7个数字,num[7]对在每一条纵线和横线上的点进行统计,从而知道每一个线段方向上有几个点,b[7][6]则是记录横坐标或者纵坐标相同的点记录另一维的数字,以便之后判断是否在一条线段上。
在judge函数里,如果一个线段方向上有超过3个点,若这个数字不是0,那么肯定只有三个点,而且这三个点在一条线段上(从图里可以看出)。如果这个数字是0,可以对b[i][]里存的数字进行排序,先从小到大,如果前三个数字分别是-3,-2,-1,那么肯定符合要求,再从大到小排序,如果前三个数字分别是3,2,1,也是符合要求的。之所以进行两次排序判断,是因为可能有6个点,在两条线段上。
代码如下:
#include <iostream>
#include <algorithm>
using namespace std;int Point_num,useless,a[10][2]={-99},b[7][6]={-99},so=0;
int num[7]={0};
void judge()
{int *p,i; for(i=0;i<7;i++){if(num[i]>2){p=b[i];if(i!=3)so++;else{sort(p,p+num[i],less<int>());if(p[0]==-3 && p[1]==-2 &&p[2]==-1)so++;sort(p,p+num[i],greater<int>());if(p[0]==3 && p[1]==2 &&p[2]==1)so++;} }}}
void d(int c)
{int i,j;for(i=0;i<7;i++){num[i]=0;for(j=0;j<6;j++)b[i][j]=-99;}for(i=0;i<Point_num;i++){j=a[i][c]+3;b[j][num[j]++]=a[i][1-c];}
}
int main(){int i,j,k;cin>>Point_num>>useless;for(i=0;i<Point_num;i++)cin>>a[i][0]>>a[i][1];for(i=0;i<useless;i++)cin>>j>>k;for(i=0;i<2;i++){d(i);judge(); }cout<<so;
}
计蒜客/阿里的新游戏相关推荐
- 计蒜客-百度的年会游戏(模拟)
计蒜客-5.21-第二场比赛 A题 百度年会盛况空前,每个部门的年会活动也是非常有趣. 某部门的年会中进行了一个有趣的游戏:一张方桌上有四边,每边可以坐一人, 每人面前摆放一排长方形木块.我们一次给四 ...
- 计蒜客 百度的年会游戏【java】
百度年会盛况空前,每个部门的年会活动也是非常有趣.某部门的年会中进行了一个有趣的游戏:一张方桌上有四边,每边可以坐一人,每人面前摆放一排长方形木块.我们一次给四边标号,分别为玩家 1.2.3.4(详见 ...
- 计蒜之道初赛第一场-阿里的新游戏
阿里的新游戏 阿里九游开放平台近日上架了一款新的益智类游戏--成三棋.成三棋是我国非常古老的一个双人棋类游戏,其棋盘如下图所示: 成三棋的棋盘上有很多条线段,只能在线段交叉点上放入棋子.我们可以用坐标 ...
- 计蒜客可以做计算机编程吗,如果你的编程能力不足以支撑你成为工程师的野心,不妨到计蒜客上学学看...
在人才招聘领域存在这样一个怪圈,高校每年都说是最难就业年.人才过剩,而对于企业HR来说永远都招不到称心如意的人才.这个怪圈在"计蒜客"创始人俞昊然看来,主要是因为当今高校的教学资源 ...
- 计蒜客题解——T1213:拯救行动
题目相关 题目链接 计蒜客 OJ,https://nanti.jisuanke.com/t/T1213. 题目描述 公主被恶人抓走,被关押在牢房的某个地方.牢房用 N×M(N,M≤200) 的矩阵来表 ...
- 坑!计蒜客——乳草的侵占
计蒜客--乳草的侵占(BFS) BFS一直写不会,可能是多加了个队列,写起来不是太容易.不过最近还是稍微入门了BFS,跟DFS差别不太大,还是由三个部分组成--出口.标记.枚举. DFS的主要的思想就 ...
- 计蒜客 - 新年礼物
计蒜客 新年礼物 新年了,蒜厂 BOSS 要给小蒜头们发新年礼物,新年礼物有很多份,怎么分配这些礼物呢?蒜厂 BOSS 打算让大家玩一个游戏. 蒜头们可以从抽奖箱里抽出 NNN 个字符串,第 iii ...
- 计蒜客 - T1096 - 石头剪刀布
计蒜客 - T1096 - 石头剪刀布 题目 石头剪刀布是常见的猜拳游戏.石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负. 一天,小 A 和小B正好在玩石头剪刀布.已知他们的出拳都是有 ...
- 计蒜客2020蓝桥杯大学A组模拟赛题解
计蒜客2020蓝桥杯大学A组模拟赛题解 蓝桥杯的话,去年拿了C++组的国二.今年报名了新成立的Python组,不知道能不能摸到国一的鱼 模拟赛链接如下: https://www.jisuanke.co ...
最新文章
- python-----利用filecmp删除重复文件
- 空洞卷积(Dilated Convolution):有之以为利,无之以为用
- 窗口属性 客户矩形_航空公司客户价值分析
- Win平台使用cmake工具生成sln工程示例
- 解析:IEEE批准首个联邦机器学习框架标准
- Sharding-JDBC(二)2.0.3版本实践
- 在2019年6月Teams Community Call上分享的Teams app基础架构视频
- AliExpress智能营销引擎大揭秘 - AnalyticDB如何做到快准狠省
- python 去除水印_基于python的图片修复程序(实现水印去除)
- 你的名字比我生命更重要
- 2020FME博客大赛——FME在农村地籍调查项目中应用
- Mac/Win Photoshop CC 2018(V19.0)安装破解激活图文教程(附破解补丁)
- python输入年月日输出年月日_python时序分析
- 单位载质量能量消耗量_Ekg指标计算案例之电动物流车
- 思科ccie认证网络工程师——MAC地址认证和MAC地址旁路认证解析必看
- 通过Python获取拉钩招聘网站的公司详细地址
- Android Studio 4.2Previw版本编译错误提示Disable offline mode and rerun the build
- PDF如何修改编辑文字?两种简单的方法分享给大家
- Ext.TabPanel 各属性一览
- 技术人员的赚钱之道3:打工思维向创业思维的转变