当前位置: 首页 > news >正文

校园二手交易网站开发背景国外网站dns

校园二手交易网站开发背景,国外网站dns,wordpress批量修改字体,网站建设和管理情况看了很多题解都是写了一大坨#xff0c;看起来非常的混乱#xff0c;然而自己去写的时候又不可避免的写了一坨#xff0c;只能尽可能的去优化代码可读性。 Time Limit: 4 sec / Memory Limit: 1024 MB 问题陈述 给你一个整数 N N N 和长度为 N N N 的字符串 R R R 和 …看了很多题解都是写了一大坨看起来非常的混乱然而自己去写的时候又不可避免的写了一坨只能尽可能的去优化代码可读性。 Time Limit: 4 sec / Memory Limit: 1024 MB 问题陈述 给你一个整数 N N N 和长度为 N N N 的字符串 R R R 和 C C C 它们由 A 、 B A、B A、B 和 C C C 组成。请解决下面的问题。 有一个 N × N N×N N×N 网格。所有单元格最初都是空的。您最多可以在每个单元格中写入 A 、 B A、B A、B 和 C C C 中的一个字符。(也可以让单元格为空。 确定是否有可能满足以下所有条件如果有可能请打印一种满足这些条件的方法。 每一行和每一列正好包含一个 A、一个 B和一个 C。写入 i − t h i-th i−th 行中最左边的字符与 R R R 中的 i − t h i-th i−th 字符相匹配。写在 i − t h i -th i−th 列中最顶端的字符与 C C C 的 i − t h i -th i−th 字符匹配。 限制因素 N N N 是介于 3 3 3 和 5 5 5 之间的整数包括首尾两个整数。 R R R 和 C C C 是长度为 N N N 的字符串由 A、B和 C组成。 输入 输入内容由标准输入法提供格式如下 N R C输出 如果无法填充网格以满足问题陈述中的条件则单行打印 “No”。 否则按以下格式打印一种填充网格的方法 Yes ​A1 A2​ ⋮ AN第一行应包含 “是”。随后 N N N 行中的 i − t h i-th i−th 应包含长度为 N N N 的字符串 A i A_i Ai​​ 。 如果 A i A_i Ai​​ 的第 j j j 字符是 “.”则表示从上往下 i − t h i-th i−th 行和从左往右 j − t h j-th j−th 列中的单元格为空。如果 A i A_i Ai​ 的第 j j j 个字符是 “A”那么它表示 A 写在从上往下第 i i i 行、从左往上第 j j j 列的单元格中。如果 A i A_i Ai​​ 的第 j j j 个字符是 “B”那么它表示 B 被写在从上往下第 i i i 行、从左往上第 j j j 列的单元格中。如果 A i A_i Ai​​ 的第 j j j 个字符是 “C”那么它表示 C 被写在从上往下第 i i i 行、从左往上第 j j j 列的单元格中。 如果有多种正确的填充网格的方法您可以打印其中任何一种。 Sample Input 1 5 ABCBC ACAABSample Output 1 Yes AC..B .BA.C C.BA. BA.C. ..CBA对于这题4s的时间限制并且联想到之前做过的八皇后问题就想到可以用DFS来解决。 题目要求每行每列都只能有各一个 A , B , C A,B,C A,B,C 且都必须有这三个字母我们可以以答案数组的层数同时作为dfs的层数然后在搜到每一层的时候把这一层应有的 A , B , C A,B,C A,B,C 三个字母全部填上这样我们就保证了每一行有且仅有一对 A , B , C A,B,C A,B,C。 所以我们仅仅需要再判断一下每一列是否满足要求即可。 在这里就可以转化为八皇后模型了开三个判断列的数组每个对应一个字母如果可以填就填上。 对于如何在一层里填上三个字母我们需要一次性填上三个。 假如你写出了三层循环来找字母那么你填出来之后就变成了一行只有一个字母了。 所以写出一个三层循环每一层循环的是每个字母要填的位置这里把重叠的位置全部continue掉。 代码 #includeiostream #includecstring #pragma warning(disable: 4996) using namespace std; const int N 10;int n;char g[N][N]; //答案数组 char a[N]; char b[N];//判断某一列是否已经有A或B或C bool a_line[N]; bool b_line[N]; bool c_line[N];//u代表的是层数即答案数组的x轴 void dfs(int u) {if (u n 1) { //如果搜满了所有层就进行判断for (int i 1; i n; i) { //第一次判断for (int j 1; j n; j) { //判断最左边的字母是不是符合字符串A的顺序if (g[i][j] ! .) {if (g[i][j] a[i])break;else return;}if (j n g[i][j] .)return; //要是搜完了所有的甚至都没一个字母直接跳}}for (int i 1; i n; i) { //第二次判断for (int j 1; j n; j) { //判断最上边的字母是不是符合字符串B的顺序if (g[j][i] ! .) { //以下同理if (g[j][i] ! b[i])return;else break;}if (j n g[j][i] .)return;}} //-------------------------------------------------------------------------------------//输出答案cout Yes endl;for (int i 1; i n; i) {for (int j 1; j n; j) {cout g[i][j];}puts();}exit(0); //直接从这里终结整个程序} //--------------------------------------------------------------------------------------//搜索部分//这里枚举的ijk是字母ABC填入的位置for (int i 1; i n; i) {for (int j 1; j n; j) {if (i j)continue; //A和B不能填到一个位置直接continuefor (int k 1; k n; k) {if (i k || j k)continue; //A和CB和C不能填到一个位置if (!a_line[i] !b_line[j] !c_line[k]){//如果这一列还没有被填入过相应的字母g[u][i] A, g[u][j] B, g[u][k] C;a_line[i] b_line[j] c_line[k] 1;dfs(u 1);//搜下一层//回溯状态g[u][i] g[u][j] g[u][k] .;a_line[i] b_line[j] c_line[k] 0;}}}} } //---------------------------------------------------------------------------------------------- int main() {cin n;scanf(%s%s, a 1, b 1);for (int i 1; i n; i) {for (int j 1; j n; j) {g[i][j] .;}}dfs(1);//如果没找到答案就直接输出Nocout No;return 0; }
http://www.zqtcl.cn/news/272434/

相关文章:

  • 2015年做那个网站致富wordpress最新模板
  • 做网站开发平台北京广告公司有哪些
  • 郑州企业建站系统模板兰州需要做网站的公司有哪些
  • 怎样做网站卖东西 自己有货句容网络公司
  • 网站建设协议书 保密条款免费发布推广的网站
  • 网站首页外链上海网站建设联系方式
  • 陕西网站建设优化技术2023年1月热点新闻事件
  • 广东省建设银行招聘网站免费搭建个人网站
  • 知名商城网站建设公司wordpress主题 汉化
  • 网站上线做什么pc网站如何做移动适配
  • wap网站搭建北京北京网站建设
  • 放心的网站设计制作免费做logo设计的网站
  • 温州专业手机网站制作多少钱移动商城 网站建设方法方式
  • 周口网站开发wordpress
  • 如何查网站的备案号玉环在哪里做网站
  • 网站开发什么叫前端后端seo研究中心晴天
  • 邢台建筑类的建设网站代刷网站只做软件下载
  • 关于旅游的网站建设目的食品网站建设的目的
  • 开发php网站开发太湖网站建设推荐秒搜科技
  • 90设计网站怎么绑定手机号淘宝搜索排名
  • 无锡自助做网站哪些编程语言适合网站开发
  • 蒲城网站建设wzjseo北京专业推广公司
  • 阳春做网站外贸建站推广公司
  • 哪个网站的课件做的好源码之家关闭了
  • 各大网站热搜榜排名嵊州网站
  • 在哪找做网站的镇江网页设计工作室
  • 做网站的是干嘛的百度推广的几种方式
  • 临沧网站建设用eclipse做jsp网站
  • 做物流运输网站电话做网站看
  • 山东公司网站推广优化什么网站做宣传好