在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 Input 输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将
转载 2019-03-08 10:43:00
32阅读
2评论
经典的八皇后问题的变种(可以称之为四车问题,手动doge),并利用状态压缩帮助优化,不过开始思路方向错了,或许说不合适更好些,状态记录的是可以防止棋子的地方的状态,但是这样即使状态压缩以后,相关记录数组也是大的不可接受(OJ上一直RUNTIEMERROR) 后来浏览解决状压数组太大问题,概览发现用了 ...
转载 2021-04-23 21:12:00
67阅读
2评论
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 61105 Accepted: 29271 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋
转载 2018-05-18 14:38:00
46阅读
2评论
题意:有一个n*n的矩阵,’#’处可以放棋子,给出k个棋子要
原创 2023-06-29 00:02:43
58阅读
题意:POJ少见的中文题,福利啊。 思路: 一开始也没有思路呃呃呃 。 裸搜,连样例都过不去。。。参照了网上的题解:一行一行DFS 茅塞顿开啊。#include #include #include #include using name...
转载 2016-03-13 20:11:00
58阅读
2评论
2011-12-16 02:16:43地址:http://acm.hdu.edu.cn/showproblem.php?pid=1321题意:字符串逆序输出- -。代码:# include <stdio.h># include <string.h>char str[100] ;int main (){ int n, i, len ; scanf ("%d%*c", &n) ; while (n--) { gets (str) ; len = strlen(str) ; for (i = len-1; i >= 0 ; i--)p...
转载 2012-01-06 16:39:00
54阅读
一、思路和N皇后有点像,不过比它简单,只需要考虑不在同一行和列用col[] 数组记录,某列是否有棋子。 col[i] 代表第i列放了一个棋子dfs分2个方向。 因为题目给定放K个棋子,说明有些行可以不放棋子。1.一个方向是该行要放棋子//1.在该行放棋子 for (int i = 0; i < n; i++) { if (!col[i] && G[ro...
原创 2021-08-27 14:25:59
94阅读
// 376K 16MS G++#include #include #define MAX 10char occupiedColumn[MAX];char occupiedRow[MAX];char board[MAX][
原创 2023-05-23 16:06:08
51阅读
一、思路 和N皇后有点像,不过比它简单,只需要考虑不在同一行和列 用col[] 数组记录,某列是否有棋子。 col[i] 代表第i列放了一个棋子 dfs分2个方向。 因为题目给定放K个棋子,说明有些行可以不放棋子。 1.一个方向是该行要放棋子//1.在该行放棋子 for (int i = 0; i < n; i++) { if (!col[i] && G[ro...
原创 2022-02-03 11:31:54
175阅读
比较抽象吧,看到题时一点思想也没有,参考了别人的代码才知道。。。渣渣 #include <iostream>#include <stdio.h>#include <string.h>#in
原创 2024-08-14 16:58:14
21阅读
八皇后问题变形,可以用深度搜索和回溯的方法来解决此问题。程序做了一些修改,可以输出所有放置棋子的方案。 输入格式: 首先根据题目要求生成输入数据。 数据的第一行是两个正整数,n m,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目m。 随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示禁区 例
原创 2011-06-06 20:56:21
974阅读
给你一个无向图,请你选择最少的关键点使得每一个顶点i,与i联通的关键点有奇数个(其实就是把全部灯关掉,按一下按钮可以反转灯的状态)范围n#include#define l(i) (1ll f;int n,m,tot,ans=1tot){ if(s1==l(n+1)-...
转载 2017-09-20 18:10:00
87阅读
2评论
题目地址:点击打开链接思路:STLAC代码:#include#include#includeusing namespace std;int main(){ char a[70]; int t; string s; scanf("%d",&t); getchar(); while(t--) { cin.getline(a,80); s = a;
原创 2022-08-04 09:11:04
14阅读
// 题意:给出一个矩阵表示经过每一点时耗费的油量,可以向上下左右四个方向移动,// 问从起点(x1,y1)到终点(x2,y2)所耗费的最小油量#include <iostream> // 邻接矩阵实现Dijkstra算法#include <stdio.h>#include <cstring> using namespace std; const int MAXN=10000;const int INF=100000; int m,n,cost[MAXN],distD[MAXN],vis[M...
转载 2011-07-10 17:29:00
56阅读
#include<stdio.h> int n, k; char s[8][8]; int ans = 0; int check(int x, int y) { if (s[x][y] == '#') { for (int i = 0; i < n; i++) { if (s[i][y] == '*') return 0; } for (int...
原创 2022-03-10 17:48:27
32阅读
#include<stdio.h>int n, k;char s[8][8];int ans = 0;int check(int x, int y){ if (s[x][y] == '#') { for (int i = 0; i < n; i++) { if (s[i][y] == '*') return 0; } for (int...
原创 2021-07-13 14:57:05
103阅读
给你一个无向图,请你选择最少的关键点使得每一个顶点i,与i联通的关键点有奇数个(其实就是把全部灯关掉,按一下按钮可以反转灯的状态)范围n#include#define l(i) (1ll f;int n,m,tot,ans=1tot){ if(s1==l(n+1)-...
转载 2017-09-20 18:10:00
40阅读
2评论
题意:给定一张无向图,每条边都有一个通过的概率 ,如果无法通过,那么就要回到起点重新出发从起点到终点的时间固定为K,如果成功到达,又需要额外花费K的时间,问走S次的最小期望时间 思路:这道题分为两部分,第一部分是求spfa,第二部分是通过得出的最大的概率的那条路算出答案;怎么算呢,通过最短路求出后,
转载 2019-09-29 19:57:00
60阅读
2评论
题目:http://acm.hdu.edu.cn/showproblem.php?pid=
原创 2022-08-22 17:49:24
36阅读
分析: 类似于八皇后问题,把每一行当做一个阶段(或者说状态),每一个阶段(状态)有若干种选择(当前行有若干列)。 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int n,k; 5 int book[100],an
转载 2017-09-03 20:56:00
56阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5