/*
爆搜,正解弃坑
*/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
#include<stack>
using namespace std;
const int maxn = ;
int n,m,x1[maxn],y1[maxn],x2[maxn],y2[maxn],vis[maxn][maxn],p[maxn][maxn],l[maxn];
bool dfs(int col,int stp,int y,int x){
if(y == y2[col] && x == x2[col]){
l[col] = stp;
if(col == m){
int tmpl = ;
for(int i = ;i <= m;i++) tmpl += l[i];
if(tmpl == n*n) return true;
else return false;
}
return dfs(col+,,y1[col+],x1[col+]);
}
vis[y][x] = col;
int ty,tx;
for(int i = ;i <= ;i+=){
if(i == ){
ty = y - ;
tx = x;
}else if(i == ){
ty = y;
tx = x - ;
}else if(i == ){
ty = y;
tx = x + ;
}else{
ty = y + ;
tx = x;
}
if(ty < || ty > n || tx < || tx > n || (vis[ty][tx] && (ty != y2[col] || tx != x2[col]))) continue;
p[y][x] = i;
if(dfs(col,stp+,ty,tx)) return true;
}
if(y != y1[col] || x != x1[col])vis[y][x] = ;
return false;
}
int main(){
freopen("jian.in","r",stdin);
freopen("jian.out","w",stdout);
cin>>n>>m;
for(int i = ;i <= m;i++){
cin>>x1[i]>>y1[i]>>x2[i]>>y2[i];
vis[y1[i]][x1[i]] = vis[y2[i]][x2[i]] = i;
}
dfs(,,y1[],x1[]);
int nowy,nowx;
for(int i = ;i <= m;i++){
cout<<l[i]<<endl;
nowy = y1[i];
nowx = x1[i];
for(int j = ;j <= l[i];j++){
cout<<nowx<<" "<<nowy<<endl;
if(p[nowy][nowx] == ) nowy--;
else if(p[nowy][nowx] == ) nowx--;
else if(p[nowy][nowx] == ) nowx++;
else if(p[nowy][nowx] == ) nowy++;
}
}
return ;
}

清北暑假模拟day2 将的更多相关文章

  1. 清北暑假模拟day2 之

    /* 现场代码,枚举每条边删除 */ #include<iostream> #include<cstdio> #include<string> #include&l ...

  2. 清北暑假模拟day2 国

    [题目描述]在世界的东边,有三瓶雪碧.--laekov黎大爷为了虐 zhx,给 zhx 出了这样一道题.黎大爷搞了一个数据结构,但是他没有告诉 zhx 这到底是什么数据结构,我们只知道这是一个数据结构 ...

  3. 清北暑假模拟day1 艳阳天

    /* 注意P有可能不是质数,不要用欧拉函数那一套,正解可以倍增,就是等比数列和的性质,注意n是否为奇数 */ #include <cstdio> #include <algorith ...

  4. 清北暑假模拟day1 生活

    /* 数字三角形,要求第K大的值,可以推知,如果得知k的范围,那么一定是在上一行可转移状态的对应范围内(反证法可以证明),这个在背包九讲里也有提及 */ #include<cstdio> ...

  5. 清北暑假模拟day1 爱

    /* 水题 */ #include<iostream> #include<cstdio> #include<string> #include<cstring& ...

  6. 清北学堂模拟赛day7 数字碰撞

    /* clj:水题别人都满分你不是你就完了,所以说水题一定要细心一点,有这么几个细节:①前导零的处理,全是零的时候要特判②换行要注意,不要多大一行,剩下就是水水的模拟了 */ #include< ...

  7. 清北学堂模拟赛d4t1 a

    分析:大模拟,没什么好说的.我在考场上犯了一个超级低级的错误:while (scanf("%s",s + 1)),导致了死循环,血的教训啊,以后要记住了. /* 1.没有发生改变, ...

  8. 清北学堂模拟赛day7 错排问题

    /* 考虑一下已经放回m本书的情况,已经有书的格子不要管他,考虑没有书的格子,不考虑错排有(n-m)!种,在逐步考虑有放回原来位置的情况,已经放出去和已经被占好的格子,不用考虑,剩下全都考虑,设t=x ...

  9. 清北学堂模拟赛day7 石子合并加强版

    /* 注意到合并三堆需要枚举两个端点,其实可以开一个数组记录合并两堆的结果,标程好像用了一个神奇的优化 */ #include<iostream> #include<cstdio&g ...

随机推荐

  1. 什么是 WSGI -- Python 中的 “CGI” 接口简介

    今天在 git.oschina 的首页上看到他们推出演示平台,其中,Python 的演示平台支持 WSGI 接口的应用.虽然,这个演示平台连它自己提供的示例都跑不起来,但是,它还是成功的勾起了我对 W ...

  2. Eclipse 代码自动补全配置方法

    Eclipse默认只有在出现 “.”时才进行代码提示,更改方法为: 即把“.”改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”,表示输 ...

  3. MOOCULUS微积分-2: 数列与级数学习笔记 3. Convergence tests

    此课程(MOOCULUS-2 "Sequences and Series")由Ohio State University于2014年在Coursera平台讲授. PDF格式教材下载 ...

  4. python模块xlrd安装-处理excel文件必须

    我安装了很久,网上查了很多资料,但都不太适合,综合 了一下,再写一写,希望有用... 官网下载xlrd:官网xlrd下载地址, 真的很难下,我用讯雷,有时候断断续续 下面是我的百度网盘地址,分享出来, ...

  5. jquery获取复选框的值

    勾选checkbox,并把勾选的值显示在某个div中 <!DOCTYPE html > <html> <head> <meta charset="U ...

  6. import_site

    http://kfd.me/ https://google.kfd.me/webhp?newwindow=1&safe=active http://googlebridge.com/searc ...

  7. 使用WebService和不使用WebService哪个速度更快哪个更安全

  8. vmware下linux系统的安装过程

    虚拟机VMware下CentOS6.6安装教程图文详解 [日期:2016-05-24] 来源:Linux社区  作者:Sungeek [字体:大 中 小]   分享下,虚拟机VMware下CentOS ...

  9. c#多态之抽象类与虚方法的异同点~

    多态之抽象类与虚方法的相似点及不同点 : 不同点 1.方法关键字不一样 虚方法的方法关键字是:virtual. 抽象类的方法关键词是:abstract 2.基类的方法是否有方法体/实现 虚方法的方法: ...

  10. string find

    string类的查找函数: ) const;//从pos开始查找字符c在当前字符串的位置 ) const;//从pos开始查找字符串s在当前串中的位置 int find(const char *s, ...