题目描述

每天,John都要为了农场里N(1≤N≤10)头牛的健康和幸福四处奔波。

每头牛的位置可以描述为一个二维坐标,John从坐标原点(0,0)出发。为了使路径更有趣,John决定只沿着平行于坐标轴的方向行走,这样只能沿着东西南北方向运动。而且只有到达某头牛的坐标后John才会改变行走的方向(当然,如果有必要,John也会穿过某头牛的坐标而不改变行走的方向。)

如果John改变行走的方向,他会原地转90°或者180°。John的路径必须保证检查完所有牛后返回原点。

John可以穿过某头牛的坐标而不改变方向任意次,请计算出有多少条路径满足John能检查完N头牛,在每头牛的坐标处恰好改变一次方向。同一条路径从不同方向经过要计算两次。

输入输出格式

输入格式:

第一行,整数N。

第2行到第N+1行,第i+1行是两个用空格隔开的整数x和y,表示第i头牛的坐标(-1000 ≤x, y ≤1000)

输出格式:

一行个整数,表示路径的量如果没有满足要求则输出 0。

输入输出样例

输入样例#1:

4
0 1
2 1
2 0
2 -5
输出样例#1:

2
思路:搜索,主要是读懂题目吧!
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,ans,x[],y[],vis[];
void dfs(int px,int py,int num,int pre){
if(num==n){
if(px>&&py==&&pre!=){ans++;return ;}
if(px<&&py==&&pre!=){ans++;return ;}
if(px==&&py>&&pre!=){ans++;return ;}
if(px==&&py<&&pre!=){ans++;return ;}
}
for(int i=;i<=n;i++){
if(x[i]==px&&y[i]<py&&!vis[i]&&pre!=){
vis[i]=;
dfs(x[i],y[i],num+,);
vis[i]=;
}
if(x[i]==px&&y[i]>py&&!vis[i]&&pre!=){
vis[i]=;
dfs(x[i],y[i],num+,);
vis[i]=;
}
if(x[i]>px&&y[i]==py&&!vis[i]&&pre!=){
vis[i]=;
dfs(x[i],y[i],num+,);
vis[i]=;
}
if(x[i]<px&&y[i]==py&&!vis[i]&&pre!=){
vis[i]=;
dfs(x[i],y[i],num+,);
vis[i]=;
}
}
}
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d%d",&x[i],&y[i]);
dfs(,,,);
cout<<ans;
}
 

洛谷 P1556 幸福的路的更多相关文章

  1. 洛谷P1556 幸福的路

    P1556 幸福的路 题目描述 每天,John都要为了农场里N(1≤N≤10)头牛的健康和幸福四处奔波. 每头牛的位置可以描述为一个二维坐标,John从坐标原点(0,0)出发.为了使路径更有趣,Joh ...

  2. 洛谷 P3819 松江1843路

    题目描述 涞坊路是一条长L米的道路,道路上的坐标范围从0到L,路上有N座房子,第i座房子建在坐标为x[i]的地方,其中住了r[i]人. 松江1843路公交车要在这条路上建一个公交站,市政府希望让最多的 ...

  3. 洛谷P3819 松江1843路

    P3819 松江1843路 题目描述 涞坊路是一条长L米的道路,道路上的坐标范围从0到L,路上有N座房子,第i座房子建在坐标为x[i]的地方,其中住了r[i]人. 松江1843路公交车要在这条路上建一 ...

  4. 洛谷P2939 [USACO09FEB]改造路Revamping Trails

    题意翻译 约翰一共有\(N\))个牧场.由\(M\)条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场\(1\)出发到牧场\(N\)去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰 ...

  5. 洛谷 P1807 最长路_NOI导刊2010提高(07)

    最长路 #include <iostream> #include <cstdio> #include <cstring> #include <queue> ...

  6. 洛谷——P3819 松江1843路

    https://www.luogu.org/problem/show?pid=3819 题目描述 涞坊路是一条长L米的道路,道路上的坐标范围从0到L,路上有N座房子,第i座房子建在坐标为x[i]的地方 ...

  7. 洛谷P1613 跑路

    题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟 ...

  8. 洛谷 P1807 最长路_NOI导刊2010提高(07)题解

    相当与一个拓扑排序的模板题吧 蒟蒻的辛酸史 题目大意:给你一个有向无环图,让你求出1到n的最长路,如果没有路径,就输出-1 思路:一开始以为是一个很裸的拓扑排序 就不看题目,直接打了一遍拓扑排序 然后 ...

  9. 洛谷 P2939 [USACO09FEB]改造路Revamping Trails 题解

    P2939 [USACO09FEB]改造路Revamping Trails 题目描述 Farmer John dutifully checks on the cows every day. He tr ...

随机推荐

  1. python的数据可视化库 matplotlib 和 pyecharts

    Matplotlib大家都很熟悉    不谈. ---------------------------------------------------------------------------- ...

  2. Linux线程资源限制

  3. Tom和Jerry来了,Tom和Jerry走了——北漂18年(38)

    上次讲到跟我同一时候入职的女销售走了. 回忆起来,她的问题多半是技巧足够,脑子不足够,走了之后再没联系.不久之后,在老板的要求之下.LilyG又招聘了两位男销售,英文名字非常登对一个叫Tom,一个叫J ...

  4. oracle实现查询每个部门的员工工资排在前三的员工的基本信息具体举例

    --先删除原先存在的表: drop table emp; --创建表emp create table emp ( deptno number, ename varchar2(20), sal numb ...

  5. 在SAE上使用Ueditor的图片上传功能

    SAE上是没有文件夹读写权限的,所以要在SAE使用Ueditor的图片上传功能须要借助SAE的Storage服务. 一.开通Storage服务 在SAE控制台开通Storage服务,并新增一个doma ...

  6. 王立平--TF卡

    最终知道TF卡是什么了... TF卡又称microSD,是一种极细小的快闪存储器卡,由SanDisk(闪迪)公司发明创立. 这样的卡主要于手机使用.但因它拥有体积极小的长处,随着不断提升的容量. 它慢 ...

  7. Suffix Array 后缀数组

    后缀数组 顾名思义.SuffixArray(下面有时简称SA) 和字符串的后缀有关. 后缀:字符串中某个位置一直到结尾的子串.(SA中讨论包含了原串和空串).所以共同拥有len+1个后缀. 后缀数组: ...

  8. hive1.2伪分布mysql数据库配置具体解释

    hadoop2.6伪分布配置:http://blog.csdn.net/gamer_gyt/article/details/46793731 hive1.2  derby元数据库配置:http://b ...

  9. poj--1985--Cow Marathon(树的直径)

    Cow Marathon Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 4424   Accepted: 2214 Case ...

  10. React实现单例组件

    问题背景 在工作中遇到了这样一个场景,写了个通用的弹窗组件,却在同一个页面中多次使用了该组件.当点击打开弹窗时,可想而知,一次性打开了多个弹窗,而业务需求只需要打开一个. 我个人在解决问题过程中的一些 ...