abc326-d 题解

news/2025/11/16 0:32:21/文章来源:https://www.cnblogs.com/ToumaKazusa/p/19226594
比较麻烦的暴力搜索

abc326-d 题解
题目链接
一开始读错题了,以为abc可以出现多次,浪费了很多时间,一定要戒骄戒躁读好题!
这种搜索题要思路打开,想一想以什么搜索
按列去搜索,感觉自己写的有点麻烦了
我的代码:

#include<bits/stdc++.h>
using namespace std;
int n;
string rr,cc;//row,column
int r[10],c[10];
int cntr[10];//row [i] is empty是否前面没有字母:需要向r对齐
bool ise[10][10];//ise[i][j]: 字母j是否存在于rowi中 
int mp[10][10];
bool flag=false;
int ans=0;
void out(){cout<<"Yes"<<endl;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(mp[i][j]==-1) cout<<".";else cout<<(char)(mp[i][j]+'A');}cout<<endl;}/*for(int i=1;i<=n;i++){for(int j=0;j<=2;j++){cout<<ise[i][j];}cout<<endl;}cout<<"-------------------";*/
}
void dfs(int iofc){//i of column: dfs每一个column c35 * 2的样本空间 if(flag) return;if(iofc==n+1){flag=1;out();}//cout<<endl;//cout<<iofc<<endl;//out();for(int i=1;i<=n-2;i++){//每个column的第一个数int x=c[iofc],y=(c[iofc]+1)%3,z=(c[iofc]+2)%3;if(ise[i][x]) continue;//if(cntr[i]==0&&x!=r[i]) continue;ise[i][c[iofc]]=1; mp[i][iofc]=c[iofc]; cntr[i]++;//c[i]+1为此列的第二个数 for(int j=i+1;j<=n-1;j++){if(ise[j][y]) continue;//改1 if(cntr[j]==0&&y!=r[j]) continue;ise[j][y]=1; mp[j][iofc]=y; cntr[j]++;for(int k=j+1;k<=n;k++){if(ise[k][z]) continue;if(cntr[k]==0&&z!=r[k]) continue;ise[k][z]=1; mp[k][iofc]=z; cntr[k]++;dfs(iofc+1);ise[k][z]=0; mp[k][iofc]=-1; cntr[k]--;}ise[j][y]=0; mp[j][iofc]=-1; cntr[j]--;}//c[i]+1为此列的第三个数 z=(c[iofc]+1)%3;y=(c[iofc]+2)%3;for(int j=i+1;j<=n-1;j++){if(ise[j][y]) continue;if(cntr[j]==0&&y!=r[j]) continue;ise[j][y]=1; mp[j][iofc]=y; cntr[j]++;//注意取余 for(int k=j+1;k<=n;k++){if(ise[k][z]) continue;if(cntr[k]==0&&z!=r[k]) continue;ise[k][z]=1; mp[k][iofc]=z; cntr[k]++;dfs(iofc+1);ise[k][z]=0; mp[k][iofc]=-1; cntr[k]--;}ise[j][y]=0; mp[j][iofc]=-1; cntr[j]--;}ise[i][x]=0; mp[i][iofc]=-1; cntr[i]--;}}int main(){ios::sync_with_stdio(0);cout.tie(0);cin>>n;cin>>rr>>cc;for(int i=1;i<=n;i++) r[i]=rr[i-1]-'A';for(int i=1;i<=n;i++) c[i]=cc[i-1]-'A';memset(mp,-1,sizeof(mp));memset(cntr,0,sizeof(cntr));dfs(1);if(!flag) cout<<"No";return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/966594.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建一个CTF比赛平台的经过

搭建一个CTF比赛平台的经过由来 我们实验室招新需要一个ctf做题环境,但是我们平时使用的NSSCTF的比赛功能在升级 ,所以我们准备自己搭建一个比赛环境 原本我们是准备使用CTFd这个平台来搭建的,但是我看了下,它默认…

11_15

11_15做题总结 今天来讲两个题目,一个是昨天的D1,一个是自己找的D4的E D1 序列一开始从1到1e12 输入x,y,k做x次操作,然后找到每次在数列中删掉下标是y的倍数的数,求操作完之后第k号数 先特判,如果y=-1或者暴力的边更…

四、Agent原理与ReAct 架构详解 ——《动手学Agent应用开发》学习心得

四、Agent原理与ReAct 架构详解 ——《动手学Agent应用开发》学习心得 ================================================================================== 最近参加了Datawhale开源组织举办的组队学习。本篇的学…

InterStellar

InterStellar 遥望无尽星际, 未知与神秘交错, 光芒与黑暗叠影。 感叹时空的伟大, 改变了容颜, 吹散人间爱意。 感叹爱的伟大, 聚如一团火, 散是满天星。 太空,太空, 你却又如此多情。

三、Agent 应用开发与落地全景 ——《动手学Agent应用开发》学习心得

三、Agent 应用开发与落地全景 ——《动手学Agent应用开发》学习心得 ================================================================================== 最近参加了Datawhale开源组织举办的组队学习。本篇的学习…

业财一体化五步法 - 智慧园区

你有没有在公司遇到过这些情况: 业务部门和财务部门的销售数据和账务数据总是对不上;业务部门卖得飞快,财务部门却发现账户上的钱少了;决策者要靠数据制定策略,结果数据没一个是可用的。 说白了 ,这些问题其实就…

猫树

有的时候线段树还是太慢了(需要 \(\log\) 次合并得出答案)。使用猫树可以空间换时间:\(O(n\log n)\) 空间,\(O(1)\) 时间。但是猫树不支持修改。 应用条件:静态,卡时间死/合并复杂度很高。 【构建】 先建出一颗正…

spiffworkflow

spiffworkflow https://spiffworkflow.readthedocs.io/en/latest/index.html SpiffWorkflow is a library that provides a flexible workflow execution environment. SpiffWorkflow is the workflow library underly…

Rust 解析验证码(结合 Tesseract OCR)

环境准备 1.1 安装 Rust 如果尚未安装 Rust,可以使用官方推荐的 rustup 进行安装: curl --proto =https --tlsv1.2 -sSf https://sh.rustup.rs | sh 更多内容访问ttocr.com或联系1436423940 然后检查 Rust 版本: ru…

django-approval-workflow

django-approval-workflow https://github.com/Codxi-Co/django-approval-workflow A powerful, flexible, and reusable Django package for implementing dynamic multi-step approval workflows in your Django app…

Go 语言实现简单的文字识别(OCR)

随着人工智能技术的迅猛发展,文字识别(OCR,Optical Character Recognition)已经广泛应用于文档扫描、自动化数据输入等领域。在这篇文章中,我们将通过 Go 语言实现一个简单的文字识别程序,来提取图片中的文字。为…

『回忆录』高二上半期考试

上文:第一次月考。 现在是尚未出分的版本。 月回顾 从上次 1004 开始写,那天晚上也是开始疯狂回忆过去。 然后就是国庆强基三天自习一天。引流:国庆强基 中途 1006 那天晚上前两节课是生日会和中秋节。其中听歌识曲…

多项式牛顿迭代

【前置知识】泰勒展开。设 \(g\) 是一个光滑的函数,\(g(y)=\sum_{n\ge 0} \frac{g^{n}(y_0)}{n!}(y-y_0)^n\).多项式 exp。 给定多项式 \(a(x)\) 满足 \(a_0=0\),求 \(\exp a(x)\bmod x^n\)。 设 \(\exp a(x)=f(x)\)…

轮胎内喷涂优惠工具趋势分析报告

在轮胎制造与橡胶制品生产过程中,如何精准匹配工艺需求与材料性能,始终是行业采购决策中的核心难点。面对市面上琳琅满目的轮胎内喷涂、胶囊隔离剂、胶片隔离剂等产品,用户常因参数混乱、功能描述模糊或缺乏本地化适…

Vibe coding All In One

Vibe coding All In One Vibe coding is an artificial intelligence-assisted software development technique popularized by Andrej Karpathy in February 2025. It was named Collins Dictionarys Word of the Ye…

路径计数与反射容斥

【路径计数模型】 【卡特兰数】 组合意义:从 \((0,0)\) 走到 \((n,n)\),每次向右或者向上,不严格越过对角线的方案数。 它也和长度为 \(2n\) 的合法括号序列个数相等。各种问题都可以转化为卡特兰数。 回忆一下卡特…

多项式复合逆与拉格朗日反演

【定义】 对两多项式 \(f,g\),无常数项且一次项系数非 \(0\),有:\(f(g(x))=x\iff g(f(x))=x\)。(这个结论需要用到高深的群论知识,不会) 如果 \(f(g(x))=x\),称 \(f,g\) 互为复合逆。记 \(f^{-1}\) 为 \(f\) 的…

Day21浮动

1.浮动的基本使用 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sc…

KEYDIY KD B12-3 3-Button Ford Flip Key Remote - 5pcs/lot (Replacement for Ford Vehicles)

## Problem: Key Replacements for Ford Vehicles – A Costly and Time-Consuming Hassle For European and American automotive repair shops and Ford vehicle owners, replacing lost or damaged keys can feel l…