摘要: 放苹果 之所以要约束下次分配苹果的最小个数,是因为如果不进行约束,就有可能计算重复情况。 初始为1也是基于同样的考虑。 1 #include<iostream> 2 using namespace std; 3 int k,n; 4 //c表示下次分配最小个数,d表示分配到了第几个盘子,b表示还有多 阅读全文
posted @ 2021-08-10 11:11 Rekord 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 马走日 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 5 int a[10][10],r[16],n,m,cnt; 6 7 void dfs(int x,int y,int d){ 8 if(d==n*m){ 9 阅读全文
posted @ 2021-08-09 16:25 Rekord 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 取石子游戏 1 #include<iostream> 2 using namespace std; 3 4 int main(){ 5 int a,b; 6 while(cin>>a>>b){ 7 if(!a&&!b)break; 8 int ans=0; 9 int t=max(a,b); 10 阅读全文
posted @ 2021-08-06 14:05 Rekord 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 棋盘问题 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 5 const int N=10; 6 int ans,n,k,a[N][N],b[N]; 7 8 bool check(int c,int r){ 9 fo 阅读全文
posted @ 2021-08-06 13:31 Rekord 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 红与黑 没错,与 迷宫 一模一样! ̄□ ̄|| 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 5 const int N=25; 6 int w,h,ans,a[N][N],che[8]; 7 bool check( 阅读全文
posted @ 2021-08-05 20:57 Rekord 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 迷宫 因为不需要找最优路径,只需要得到结果即可(YES/NO),所以走过的位置不需要还原。 显然,使用这种方式大大减少了运行时间(降低了时间复杂度)。 下面验证其合理性: 每一点只要可走就可以重复走、来回走(当然程序内部肯定不这样做),换言之,任何相交路径中的任意两点都是相通的。 到达任一点可能有多 阅读全文
posted @ 2021-08-05 20:32 Rekord 阅读(721) 评论(0) 推荐(0) 编辑
摘要: 八皇后 首先通过 八皇后问题 求解出所有的结果,然后将每一个结果转化为一个八位的整数(算是本题的一个亮点吧) 将这些八位的整数集进行排序,然后依据输入输出相应的答案。 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 us 阅读全文
posted @ 2021-08-05 17:43 Rekord 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 八皇后问题 首先可以试图去简化问题,将问题转化为为每一列确定一个有效的行号。 因为同一列只能有一个皇后,并且需要在八列中确定八个皇后,即每一列都必定有且只有一个皇后。 经过简化后,显然,通过一个一维数组即可以确定一组有效解。 关于check: 不为同一行或同一列的判定比较简单(这里省略) (i1,j 阅读全文
posted @ 2021-08-05 17:16 Rekord 阅读(1045) 评论(0) 推荐(0) 编辑
摘要: LETTERS 由于是找一条最优路径(最多可以经过几个字母),所以在深度遍历回来的时候要注意还原。 否则最优路径会受到其他路径的干扰! 另外关于check这里写的过于冗余,可以通过构造数组来改善。 1 #include<iostream> 2 #include<cstdio> 3 using nam 阅读全文
posted @ 2021-08-05 11:35 Rekord 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 自然数的拆分 与 分解因数 、 组合的输出 不能说相似,只能说是一模一样。 大致思路参考以上两篇。 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 5 const int N=105; 6 int n,a[N]; 7 阅读全文
posted @ 2021-08-05 10:50 Rekord 阅读(1075) 评论(0) 推荐(0) 编辑