usaco wormhole(看了官方视频题解)
看了视频看懂了但是递归那块求所有匹配可能我真的写不出来,而且经常弄混。
/*
ID:jinbo wu
LANG:C++
TASK:wormhole
*/
#include<bits/stdc++.h>
using namespace std;
int x[13];
int y[13];
int partner[13];
int next_on_right[13];
int n;
bool circle()
{for(int i=1;i<=n;i++)//遍历所有起点{int pos=i;for(int j=1;j<=n;j++)pos=next_on_right[partner[pos]];//走遍所有点后如果位置不为0即还在虫洞中既有环if(pos!=0)return 1;}return 0;
}
int solve()//递归求所有可能匹配
{int i,total=0;for(i=1;i<=n;i++)if(partner[i]==0) break;if(i>n)//找到一个完整匹配{if(circle()) return 1;//判断能不能构成环else return 0;}for(int j=i+1;j<=n;j++){if(partner[j]==0){partner[i]=j;partner[j]=i;total+=solve();partner[i]=partner[j]=0;}}return total;
}
int main()
{freopen("wormhole.in","r",stdin);freopen("wormhole.out","w",stdout);scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d %d",&x[i],&y[i]);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){if(x[i]<x[j]&&y[i]==y[j]){if(next_on_right[i]==0||x[j]-x[i]<x[next_on_right[i]]-x[i])next_on_right[i]=j;}}printf("%d\n",solve());
}
usaco wormhole(看了官方视频题解)相关推荐
- USACO 2020~2021 February Contest GOLD 题解(3)
USACO 2020~2021 二月黄金组 题解(3) 3. Count The Cows As is typical, Farmer John's cows have spread themselv ...
- 关于新版VLC无法看RTSP的视频的问题-转
其实关于新版VLC无法看RTSP的视频的问题早在很久之前就已经有人跟我提过了,而我写的EzStreamSvr和EasyIPCam都是用RTSP来streaming 视频的,因此又有一些朋友来把这个问题 ...
- 从世界杯观赛看,“移动视频”就是个伪命题
世界杯,忙碌的一天从凌晨开始,随着裁判的一声哨响,移动视频应用们开始了辛苦的劳作,最先被打开的是直播应用,它们与真球迷度过了一个个精彩之夜:清晨时分,人挤人的地铁公交里,"伪球迷" ...
- micropython视频_零基础如何优雅入门“网红”Python?小白必看的MicroPython视频合集:从入门到精通!...
零基础如何优雅入门"网红"Python?小白必看的MicroPython视频合集:从入门到精通! 若问时下最火的一门编程语言是什么?答案一定是Python. 就连高考都开始考Pyt ...
- 看完这个视频,你的“信任问题”能得到解决
你有没有这样的经历 说好了小伙伴们一起做个公益众筹项目 当做到一半时 有人电话不接 短信不回 邮件不搭理 你以为他人间蒸发了呢 但人家的朋友圈照常一日一更 这可让人郁闷了 不仅仅在个人之间 在公司和个 ...
- 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决
桔子浏览器电脑版看不了视频怎么办?有很多桔子浏览器用户反映,在打开浏览器想要观看视频的时候,却无法播放,今天通过这篇文章给大家讲讲怎么处理. 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决 桔 ...
- 刚看了一个视频,介绍了实体店十几种线上线下引流方法
刚看了一个视频,介绍了实体店十几种线上线下引流方法,学习引流方法固然重要. 但是,还要明确的是引流方法要为引流目标服务的,每种方法有它的最佳适用条件. 这时,必然要考虑营销系统闭环,结合实体店的资源( ...
- 洛谷P1478 陶陶摘苹果(升级版)视频题解
洛谷P1478 陶陶摘苹果(升级版)视频题解 洛谷P1478 陶陶摘苹果(升级版)视频题解 题目描述 又是一年秋季时,陶陶家的苹果树结了 nn 个果子.陶陶又跑去摘苹果,这次他有一个 aa 公分的椅子 ...
- 小程序看完激励视频发放奖励(含解决重复发放奖励的bug)
最新在写抖音小程序,和微信小程序基本一样,这里主要说一下小程序怎么使用激励视频并且看完激励视频发放广告(关闭清除广告奖励就不会重复发放) 首先,得去开放者平台的广告中心,里面有一个流量主,然后点击广告 ...
最新文章
- python提高办公效率-用Python的这3个优点,让工作效率提升一倍
- 将Doc或者Docx文档处理成html的代码逻辑;统计word中的字数,段数,句数,读取word中文档内容的代码逻辑
- 详解Vue.use使用与原理
- VMware Workstation Pro 16 安装教程
- 转自知乎-我见过最通俗易懂的KMP算法详解
- linux脚本算术函数,Linux基础之bash脚本编程初级-变量与算术运算
- html+字体图标找不到字体,bootstrap中不显示字体图标问题怎么解决?
- Redmi K20 Pro尊享版官宣:升级为骁龙855 Plus旗舰平台
- vscode 切换开发者工具_大整理!JavaScript开发者的27个神奇VSCode工具
- Android 实例子源代码文件下载地址380个合集
- 算法竞赛入门经典——1
- C语言 运算符与表达式
- imdisk虚拟光驱安装linux,ImDisk Virtual Disk Driver
- 微信公众号开发---生成带参二维码
- 学完计算机专业英语感受,计算机专业英语感想
- html怎么设置下外边距,cssmargin外边距属性与用法总结
- MATLAB升级失败导致无法使用simulink
- java 提现,利用java实现提现金额到支付宝账户的功能,提现一万手续费多少
- 【前端】elementUI分页场景下对表格进行排序
- linuxconfig文件