约数倍数卡片 java_约数倍数选卡片
1 /*
2 * 万能的搜索...3 */
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11
12 using namespacestd;13
14 const int MAX = 109;15 vectorv[MAX];16 vectorc;17 //这里的状态标记不能这样标记, 应标记出现多少次
18 intbook[MAX];19
20 bool DFS(intn)21 { //寻找 n 的约数倍数, 如果没有, 就会直接返回true(赢了)22 //1;
23 for(int i=v[n].size()-1;i>=0;i--){24 int now =v[n].at(i);25 if(book[now]){ //判断当前数有没有用完
26 book[now]--;27 bool win =DFS(now);28 book[now]++;29 if(win) return false;30 }31 }32
33 return true;34 }35
36 intmain()37 {38 intx;39 strings;40
41 getline(cin, s);42 stringstream ss(s);43 //统计每个数出现的次数
44 while(ss>>x) book[x]++;45 getline(cin, s);46 stringstream str(s);47 //我们可以选择的数
48 while(str>>x) c.push_back(x);49 //排序, 方便从小到大搜, 搜到的第一个就是最小的值
50 sort(c.begin(), c.end());51 //预处理可选数的约数和倍数
52 for(int i=1;i
58 for(int i=0;i
67 book[now]++;68 }69 }70 cout<
72 return 0;73 }74
75
76 /*
77 void Init(int *a, int *b, int la, int lb)78 { // 先把 a 约数倍数处理一下79 // 想办法去重...80 sort(a, a+la);81 // int *end = unique(a, a+la);82 // la = end - a;83 // a[i] 的约数和倍数是 a[j]84 for(int i=0;i 0 && a[i] == a[i-1])89 continue;90 else if(a[i]%a[j] == 0 || a[j]%a[i] == 0)91 v[a[i]].push_back(a[j]);92 }93
94 return;95 }96
97 int DFS(int start, int step)98 { cout<
116 int BFS(int start)117 { // 突然发现, 广搜好像不好做, 因为标记这关不太好处理118 // 可能会多次用到, 但是我们无法很好地还原前面一个点119 queue q;120 q.push(start);121 while(!q.empty())122 {123 int t = q.front();124 book[t]--;125 q.pop();126 int len = v[t].size();127 for(int i=0;i 1 && i != 0 && v[t].at(i) == v[t].at(i-1))131 continue; // 这个数已经进过一次队了132 int x = v[t].at(i);133 q.push(x);134 book[x]--;135 break;136
137 }138
139
140 break;141 }142
143
144 return -1;145 }146
147 void fun(int *a, int *b, int la, int lb)148 {149 sort(b, b+lb);150 memset(book, 0, sizeof(book));151 for(int i=0;i
154 int ret = 999;155 Init(a, b, la, lb);156 int c = 999;157 for(int i=lb-1;i>=0;i--){158 memset(book, 0, sizeof(book));159 c = DFS(b[i], 1);160 cout<"<
166 int main()167 {168 string s1, s2;169 int i = 0, j = 0;170
171 getline(cin, s1);172 stringstream ss1(s1);173 while(ss1>>a[i++]);174
175 getline(cin, s2);176 stringstream ss2(s2);177 while(ss2>>b[j++]);178
179 fun(a, b, i-1, j-1);180
181 return 0;182 }183
184 */
约数倍数卡片 java_约数倍数选卡片相关推荐
- 2013年第四届蓝桥杯C/C++ A组国赛 —— 第四题:约数倍数选卡片
标题:约数倍数选卡片 闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数.两人轮流拿走一张卡片.要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数.例如,某次福尔摩斯拿走的卡片上写着数字 ...
- 约数的和及约数的个数
约数的和及约数的个数 1.约数的个数等于:所有质因数的指数加上1后的乘积; 若一个数分解质因数后为(am)*(bn),其中a,b均为质因数;m,n均为相应质因数的指数. 则约数个数为(m+1)(n+1 ...
- QN模块java下载_QN卡片版app下载-QN卡片版下载v35 安卓版-西西软件下载
QN卡片版app让你能够自己进行应用转生并完成Xposed框架的安装,从而让你能够更为深度的优化手机中的各种主题系统,让你的手机美化更出色,喜欢的朋友们赶快下载QN卡片版开始体验吧! QN卡片版软件介 ...
- cocos植物大战僵尸(五)选择植物卡片:待选择植物卡片管理器类
2.4.2 待选择植物卡片管理器类 此类管理所有本关卡能选择的卡片. //从关卡配置文件中读取坐标,卡片名并显示出来 bool CWaitChooseCardMgr::levelConfigLoad( ...
- 【c语言】查找200以内既是3的倍数又是5的倍数的数
<程序设计基础-c语言>杨莉 刘鸿翔 科学出版社 ISBN 978-7-03-032903-5 p18 习题1 3.算法设计:查找200以内即是3的倍数又是5的倍数 #include< ...
- 2013\National _C_C++_A\4.约数倍数选卡片
闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数.两人轮流拿走一张卡片.要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数.例如,某次福尔摩斯拿走的卡片上写着数字"6&quo ...
- 问题 J: 输出是m的倍数或n的倍数、但不是m和n的公倍数的数
题目描述 输出1-k之间是m的倍数或n的倍数.但不是m和n的公倍数的数,其中1<=m,n<k<100,且m与n不相等. 输入 输入三个整数,依次为k.m. n. 输出 从小到大输出符 ...
- 开环放大倍数和闭环放大倍数的区别
1.概念 开环放大倍数与闭环放大倍数,这两个的区别在于:控制的精度不同.举个简单的例子吧,让您去送快递,只是给您下达了这样一个指令,但快递是否送到了,这个东东是无从得知的,这就是开环:假如让您去送快递 ...
- Html+Css+Js(do…while 结构语句)求100以内所有3的倍数的和、求100以内所有2的倍数、5的倍数的和。
Html部分 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
最新文章
- 活动目录之用户配置文件(转载)
- sorted set 数据类型的应用场景
- jmeter php网站,jmeter实战之phpwind随机回帖/发帖
- 用Python解决百马百瓦
- 女同志50岁退休可以早领养老金,55岁退休拿的养老金比较高,哪个更划算?
- 谷歌大脑2017总结(Jeff Dean执笔,干货满满,值得收藏)
- 面试相关——计算机网络基础
- 如何才能真正的学会设计模式
- JDK各版本新特性(完整版)
- 灵芝酸大鼠血清白蛋白纳米粒|茯苓酸小麦麦清白蛋白纳米粒雷公藤内酯醇-牛血清白蛋白纳米粒(TRD-BSA NPs)
- 软件测试 边界值法的实例,边界值分析法实例
- Linux中的setenv与export
- android 仿微信视频压缩上传,iOS视频压缩(仿微信录像)
- 王者荣耀是用什么编程语言开发的?
- pandas数据绘制直方图、饼状图、线形图
- 【转载】NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法...
- 2018-2019 ACM-ICPC, Asia Shenyang Regional Contest 不完整题解与训练赛复盘
- 133A 读注意的嘤嘤
- Ubuntu的版本介绍
- 谷歌浏览器ajax脚本出错,你好,用谷歌浏览器,发生脚本错误怎么处理。