牛客小白月赛63->GCPC总决赛,递归方法求解
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网题目描述
GCPC 总决赛要来了,DarknessCatcher 的学校和 yxlxszx 的学校分别有 nnn 支队伍,DarknessCatcher 的第 iii 支队伍有 aia_iai 个“大跌”,yxlxszx 的第 iii 支队伍有 bib_ibi 个“大跌”,“大跌”越多的队伍越强,如果“大跌”数量相等则一样强。
现在 DarknessCatcher 和 yxlxszx 的 nnn 支队伍两两匹配,对于某种两两匹配的情况,对于 1≤i≤n1 \le i \le n1≤i≤n ,如果 DarknessCatcher 第 iii 支队伍严格强于 yxlxszx 的第 iii 支队伍,那么 DarknessCatcher 得一分,如果 DarknessCatcher 第 iii 支队伍严格弱于 yxlxszx 的第 iii 支队伍,那么 yxlxszx 得一分,否则双方均不得分。最后分数高的一方获得这一种比赛局面的胜利,分数低的一方失败,分数相等平局。
请你计算对于所有两两匹配的比赛局面中 DarknessCatcher 获胜的情况数,失败的情况数,平局的情况数。
输入描述:
第一行给定一个正整数 nnn (1≤n≤10)(1 \le n \le 10)(1≤n≤10) 表示两方的队伍数量。
第二行给定 nnn 个正整数 aia_iai (0≤ai≤3)(0 \le a_i \le 3)(0≤ai≤3) 表示 DarknessCatcher 每支队伍的“大跌”数量。
第三行给定 nnn 个正整数 bib_ibi (0≤bi≤3)(0 \le b_i \le 3)(0≤bi≤3) 表示 yxlxszx 每支队伍的“大跌”数量。
输出描述:
输出所有情况中 DarknessCatcher 获胜的情况数,失败的情况数,平局的情况数。示例1
输入
2 0 2 1 3输出
0 1 1说明
所有情况为:
(0,3),(2,1)(0, 3),(2,1)(0,3),(2,1) 此时 DarknessCatcher 有一支队伍获胜,yxlxszx 有一支队伍获胜,平局。
(0,1),(2,3)(0, 1),(2,3)(0,1),(2,3) 此时 DarknessCatcher 没有队伍获胜,yxlxszx 有两支队伍获胜,DarknessCatcher 失败。
牛客竞赛的一道题,大家应该都是用 深度优先搜索解题目。可惜本人是个小白,还不是很会用,于是便写个个递归的方法求解。
大概的思路就是把a固定,递归找出每个a【i】对应的b的下标,用c【i】来记录
#include <iostream>
using namespace std;void Combination(int k);int a[15],b[15],c[15];//c[i]表示a中第i个数对应b的第几个数
int aaa=0,bbb=0,ccc=0;//胜,负,平
int n;
int main()
{cin >> n;int i;for(i=0;i<n;i++)cin >> a[i];for(i=0;i<n;i++)cin >> b[i];Combination(0);cout <<aaa<<" "<<bbb<<" "<<ccc;return 0;
}
void Combination(int k)
{int i,j;if (k==(n-1)){int x1=0,x2=0;for(i=0;i<n;i++)//最后一个数还没有配对,这里给最后一个数找出他对应的数{c[k]=i;for(j=0;j<k;j++){if(c[k]==c[j])//位置冲突break;}if(j==k)break;//因为最后一个数是唯一对应的,找到了就可以退出了}for(i=0;i<n;i++)//记录比分情况{if (a[i]>b[c[i]]) x1++;else if (a[i]<b[c[i]]) x2++;}if(x1>x2) aaa++;else if (x1<x2) bbb++;else ccc++;return;}for(i=0;i<n;i++)//逐个尝试a中第k个数的配对方式{c[k]=i;for(j=0;j<k;j++)//和前面k-1个数比较,看位置是否冲突{if(c[k]==c[j])//位置冲突break;}if(j==k)//和所有位置都不冲突Combination(k+1);}
}
新人第一次写文章,刚学编程不久,如有不足欢迎各位大佬指出
牛客小白月赛63->GCPC总决赛,递归方法求解相关推荐
- 牛客小白月赛16 小石的签到题(博弈)
牛客小白月赛16 小石的签到题 链接:https://ac.nowcoder.com/acm/contest/949/A来源:牛客网 题目描述 输入描述: 共一行,输入一个数 nnn . 输出描述: ...
- F.孤独(牛客小白月赛39)
F.孤独(牛客小白月赛39) 题意: 给定一棵树,寻找一个路径,将断掉所有与这个路径上的点相连的边,使得剩下的最大连通块的大小最小 题解: 这题有点印象,感觉做过,至少这个方法肯定遇到过 设dp[u] ...
- 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)
牛客小白月赛58 感觉没什么意思,这场月赛出题人有点问题. B 题意:给定一定的数据填充顺序和每一个填充层的名称,只有填充满了上一层才可以填充下一层. 但是每一层又属于某一个大层,一个大层中包含了若干 ...
- 牛客小白月赛65个人题解A-E
1. 牛客小白月赛65 A. 牛牛去购物 题意:给定n元,购买价格为a元的篮球和价格为b的篮球,数量不定,要使得花掉的钱最多,也就是剩余的钱数最少,求这个值 (1 <= n, a, b < ...
- 牛客小白月赛24 J.建设道路
牛客小白月赛24 J.建设道路 题目链接 题目描述 牛牛国有 nnn 个城市,编号为 1-n,第 iii 个城市有一个价值 aia_iai ,牛国的国王牛阔落特别喜欢在牛牛国旅游,并且他不想每次旅游 ...
- 牛客小白月赛4 D.郊区春游
牛客小白月赛4 D.郊区春游 题目链接 题目描述 今天春天铁子的班上组织了一场春游,在铁子的城市里有 nnn 个郊区和 mmm 条无向道路,第 iii 条道路连接郊区 AiA_iAi 和 BiB_i ...
- 牛客小白月赛25 C.白魔法师
牛客小白月赛25 C.白魔法师 题目链接 题目描述 你是一个白魔法师. 现在你拿到了一棵树,树上有 个点,每个点被染成了黑色或白色. 你可以释放一次魔法,将某个点染成白色.(该点不一定是黑色点,也可以 ...
- 牛客小白月赛60(A~C)题解
原题地址:牛客小白月赛60_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 题目A:小竹与妈妈 题意:输出(x-b)/a即可,没什么好说 代码: #include< ...
- 牛客小白月赛5 I.区间 (interval)
牛客小白月赛5 I.区间 (interval) 题目链接 题目描述 Apojacsleam喜欢数组.他现在有一个n个元素的数组a,而他要对a[L]-a[R]进行M次操作:操作一:将a[L]-a[R]内 ...
最新文章
- 特斯拉再出车祸,两死一伤,这次是Model S
- HDOJ/HDU 2565 放大的X(分段思考~)
- 某一列高度变化_高度近视,老了后会瞎吗?
- 2021-9-下旬 数据结构-线性表- 栈 -java代码实现(复习用)
- CSS浏览器兼容性问题详解总结
- OpenCV总结:实现马赛克和毛玻璃滤镜效果
- Linux下杀僵尸进程办法
- sas程序matlab,MATLAB/SAS学习笔记
- c语言内存泄露检查工具,检测C++的内存泄漏用哪些工具(1)
- 畅捷通(chanjet)T3各版本
- 破解安装IAR编辑器
- 提升用户体验的40个Firefox 4扩展
- 女神青涩时纤毫毕现,腾讯 AI 模型 GFPGAN 火上 GitHub 热榜第一,Demo 在线可玩
- 上海应用技术大学计算机研究生院,计算机考研调剂|2018年上海应用技术大学计算机学院计算机大类考研调剂信息...
- ca加密是什么情况_让我们进行加密:为什么要创建一个免费,自动化和开放的CA?...
- 一根“火柴棒”就能避孕,而且还能消灭痛经?
- 赚钱软件应该怎么选择?你应该知道的副业兼职赚钱软件
- 基于java的客户订单管理系统
- 【智力题】大厂最爱问的智力题
- 微信、QQ等即时通信软件为什么没有取代电子邮件?