求改正并优化(方法新奇)
  • 板块P2689 东南西北
  • 楼主xxc123
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/4/4 23:04
  • 上次更新2023/10/23 19:24:48
查看原帖
求改正并优化(方法新奇)
787732
xxc123楼主2023/4/4 23:04
#include<iostream>
using namespace std;
int main()
{
	int east=0,south=0,west=0,north=0;
	int x1,y1,x2,y2;
	cin>>x1>>y1>>x2>>y2;
	int T;
	cin>>T;
	while(T--)
	{
		char t;
		cin>>t;
		switch(t)
		{
			case 'E':east++;
			case 'S':south++;
			case 'W':west++;
			case 'N':north++;
		}
	}
	if(x1<=x2)
	{
		if(y1<=y2)
		{
			if(x2-x1<=east&&y2-y1<=south)
			{
				cout<<x2-x1+y2-y1<<endl;
				return 0;
			}
			else
			{
				cout<<-1<<endl;
				return 0;
			}
		}
		else
		{
			if(x1-x2<=west&&y2-y1<=south)
			{
				cout<<x2-x1+y2-y1<<endl;
				return 0;
			}
			else
			{
				cout<<-1<<endl;
				return 0;
			}
		}
	}
	else
	{
		if(y1<=y2)
		{
			if(x1-x2<=east&&y2-y1<=north)
			{
				cout<<x2-x1+y2-y1<<endl;
				return 0;
			}
			else
			{
				cout<<-1<<endl;
				return 0;
			}
		}
		else
		{
			if(x1-x2<=west&&y2-y1<=north)
			{
				cout<<x2-x1+y2-y1<<endl;
				return 0;
			}
			else
			{
				cout<<-1<<endl;
				return 0;
			}
		}
	}
	return 0;
}
2023/4/4 23:04
加载中...