2779: 【基础】小 X 与机器人 2 (sihuo)

题目:

时间限制 : 1 Sec

内存限制 : 32 Mb

提交 : 439

解决 : 178

题目描述

小 X 在解决了高大上的落子问题后, 开始着手训练 BetaGo 的深度学习 能力, 第一步要教 BetaGo识别各种各样的棋形,小 X 首先教 BetaGo 识别跟死活密切相关的棋型,在成功识别了一些简单的棋形后, BetaGo 在识别聚四棋形时遇到了困难,所谓聚四棋形就是连在一起的四颗棋子, 它们共有五种不同的形状, 五种棋形及其命名如下图所示:

注意: 每种形状经过旋转、翻折得到的图案属于同一种形状。 譬如只要四颗相邻的棋子排成一条直线则不管它们是横着排还是竖着排都称之为直四。

小 X 希望你编一个程序帮助 BetaGo 识别聚四棋形, 具体要求是:给出四个连在一起的围棋盘上的交叉点位置, 判断这四颗连在一起的棋子属于那种聚四? 输入数据保证给出的棋形一定是五种聚四棋形中的一种。 棋盘上位置的表示方法与第一题相同。

输入

输入数据共有四行,每行包含两个用空格隔开的正整数 x 和 y, 表示棋盘上的一颗棋子的位置。

输出

输出一行包含一个字符串, 表示对应的聚四棋形的拼音。

如果是直四 , 则输出“ zhisi” ; 如果是曲四, 则输出“ qusi” ; 如果是弯四, 则输出“ wansi” ;

如果是丁四, 则输出“dingsi” ; 如果是方四, 则输出“fangsi” 。 注意引号不要输出。

样例输入

1 1 1 2 2 3 2 2

样例输出

wansi

【数据范围】
1≤x≤4, 1≤y≤4,每种棋形分别对应 20% 的数据,也就是说你直接输出某种拼音可以得到 20 分。

方法:

1、所输入的x、y分别排序,然后根据规律来输出。(自己观察)

2、其中,“qusi”和“dingsi”需要通过x、y中重复的个数来判断,“wansi”和“fangsi”也可以用重复次数判断。

标程:

#include<bits/stdc++.h>
using namespace std;
int x[100],y[100],s1,s2,t;
int main()
{
    for (int i=1;i<=4;i++)
    {
        cin>>x[i]>>y[i];
    }
    sort(x+1,x+5);
    sort(y+1,y+5);
    t=1;
    if ((x[1]==x[2])&&(x[3]==x[2])&&(x[3]==x[4])||(y[1]==y[2])&&(y[3]==y[2])&&(y[3]==y[4]))
    {
        cout<<"zhisi"<<endl;
        return 0;
    }
    s1=0;
    s2=0;
    for (int i=1;i<=3;i++)
    {
        for (int j=i+1;j<=4;j++)
        {
            if (x[i]==x[j])s1+=1;
            if (y[i]==y[j])s2+=1;
        }
    }
    if ((s1==2)&&(s2==2))
    {
        cout<<"fangsi"<<endl;
        return 0;
    }
    if (s1==3)
    {
        for (int i=1;i<=3;i++)
        {
            if (y[i]==y[i+1])
            {
                if (i==2)
                {
                    cout<<"dingsi"<<endl;
                    return 0;
                }
                else
                {
                    cout<<"qusi"<<endl;
                    return 0;
                }
            }
        }
    }
    if (s2==3)
    {
        for (int i=1;i<=3;i++)
        {
            if (x[i]==x[i+1])
            {
                if (i==2)
                {
                    cout<<"dingsi"<<endl;
                    return 0;
                }
                else
                {
                    cout<<"qusi"<<endl;
                    return 0;
                }
            }
        }
    }
    if ((s1==1)||(s2==1))
    {
        cout<<"wansi"<<endl;
        return 0;
    }
        return 0;
}

时间: 2024-10-05 04:18:12

2779: 【基础】小 X 与机器人 2 (sihuo)的相关文章

《中小企业如何用小帮软件机器人提高工作效率?》

以数字化为标志,以智能化为特征的新一代商业变革已经到来.信息技术的创新发展,必然引发商业模式的变革,使得营销.运营.人力.财务策略和运作流程发生变化.在数字化.自动化.智能化的趋势下,软件机器人.人工智能(AI).大数据和云计算等新技术被应用到企业的方方面面,使企业流程不断优化.效率不断提升. 什么是软件机器人? 软件机器人是一种智能化软件,通过模拟并增强人类与计算机的交互过程,实现工作流程中的自动化. 比如说很多办公流程,工作人员经常需要耗费大量的时间来操作一些重复性的有规律的工作,那么这些任

Linux基础小模块

1.基础知识小块:shell 由shell程序的自带命令:即为内置命令(builtin) 独立的可执行程序文件.文件名 :即为外部命令 [[email protected]~]#ls      ~用户当前所在目录  #:命令提示符(管理员帐号root)  $:普通用户          | shell环境 | 独特程序  它是指操作系统中,提供访问内核所提供之服务的程序!系统跟计算机硬件交互时使用的中间介质,负责解析用户提供的命令. 2.基础小知识:命令 #echo $PATH :从那些路径中查

JavaScript基础--小案例:在网页指定位置弹出错误信息(十二)

案例分析:点击按钮后,在网页上指定区域,提示错误信息!5秒后,错误信息提示自动消失! 1 <script languag="javascript" type="text/javascript"> 2 var clearId; 3 function test(){ 4 document.getElementById("showMsg").style.cssText="width:200px;height:50px;left:6

Windbg CLR基础小测 《第六篇》

首先写一段代码如下: namespace ConsoleApplication3 { class Program { static void Main(string[] args) { Console.WriteLine("Hello, Windbg!"); Console.ReadKey(); } } } 在Debug目录中启动该程序,然后在Debug中附加该进程. 0:007> .load C:/WINDOWS/Microsoft.NET/Framework/v4.0.303

Photoshop基础 小问答

1. 如何快速把转斜的图片水平摆正? 答:点 吸管工具 - 度量工具,在图片中找2个水平的点(这2个点是图片内物体的水平,不是图片的水平),然后点  图像 - 旋转画布 - 任意角度,OK! 2. 因相机斜拍,造成图片视角倾斜,有什么办法摆正?答:点 编辑 - 变换 - 扭曲,在倾斜的角点住左键,慢慢可拉正图片,直到效果看来成正面水平,OK! 3. CMYK怎么转RGB图像模式?答:点 图像 - 模式 - RGB模式,OK! 4. 有些图片打开横或竖有条绿线,操作没影响,删又删不掉,怎么办?答:

ios基础-小知识点收集(1)

不积跬步,无以至千里;不积小流,无以成江海.----荀子 收集学习ios中的小知识点,每天进步一点点. (一)@class和 #import class:只声明类,不会引入类文件,加快编译速度,防止类相互import出错:在m中仍然需要import整个类文件. import导入整个类文件,在需要使用类中的变量.函数和协议的时候需要使用. (二)静态变量static.全局变量extern.局部变量.实例变量 static:为整类而非单个对象使用,隐藏封装在类中,对外不可见. 静态变量的优点: 1.

开源项目——小Q聊天机器人V1.4

小Q聊天机器人V1.0 小Q聊天机器人V1.1 小Q聊天机器人V1.2 小Q聊天机器人V1.3 GitHub:https://github.com/baiyuliang/QRobot V1.4版本中,对来聊天界面不同消息布局进行了优化,使得聊天消息类型的扩展性更强!1.4之前的版本我们知道,我是将各种消息类型布局全部集中在了一个xml中,这种方式对少量消息类型的应用还可以,如果消息类型过多,那么这种方式就显得很low了,而且影响性能!1.4版本中,将各种消息类型逐一拆分(并且发送和接收一一对应)

没有基础小编带你,用python画机器猫(有代码)

小编带你玩python 没有基础小编带你,用python画机器猫.只需要python3和小编的代码即可.python3小编送,代码文章有,现在就差个你了. 运行不了的找小编,小编包教会你. 重要的事情说三遍: python3小编送,代码文章有. python3小编送,代码文章有. python3小编送,代码文章有. 运行不了的找小编,加Q君羊 八八三四四四一零六. 君羊里的小伙伴和管理员的会这个运行这个源代码.需要学习视频的直接找管理员要,就说是小编让的,烦死她.欢迎小伙伴的加入. 原文地址:h

shell脚本基础小习题(二)

shell脚本基础小习题(二) 编写一个memusage.sh,根据Free命令的结果计算出内存占用率 思路: 1:在屏幕输出"free"先查看命令结果 2:根据给出的结果我们需要用到"total"和"free" total:列显示系统总的可用物理内存和交换空间大小. free:列显示还有多少物理内存和交换空间可用使用. 这里我们只看Mem(内存的使用情况)就可以. 3:我们创建脚本但是我们在free的Mem中只需要用("total&q