小 X 与机器人 2 (sihuo)
题目:
题目描述
输入
输入数据共有四行,每行包含两个用空格隔开的正整数 x 和 y, 表示棋盘上的一颗棋子的位置。
输出
样例输入
样例输出
【数据范围】
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;
}