Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在ASCII-art中匹配ASCII-art段?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
我正在练习一个编程竞赛,在这个竞赛中,我会选择每一个问题,不管是使用Python还是C++,所以我对任何一种语言都有一个解决方案——无论什么语言最适合这个问题。在</p> <p>我遇到的过去问题的URL是<a href="http://progconz.elena.aut.ac.nz/attachments/article/74/10%20points%20Problem%20Set%202012.pdf" rel="nofollow">http://progconz.elena.aut.ac.nz/attachments/article/74/10%20points%20Problem%20Set%202012.pdf</a>,问题F(“Maps”)。在</p> <p>基本上,它涉及到在一个大的ASCII图片中匹配一个小片段。在C++中,我可以为每个ASCII艺术制作一个向量。问题是当较小的部分是多行时,如何匹配它。在</p> <p>我不知道该怎么做。我不想所有的代码都是为我写的,只是想知道问题所需的逻辑。在</p> <p>谢谢你的帮助。在</p> <p>到目前为止,我得到的是:</p> <pre><code>#include <cstdlib> #include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; int main( int argc, char** argv ) { int nScenarios, areaWidth, areaHeight, patternWidth, patternHeight; cin >> nScenarios; for( int a = 0; a < nScenarios; a++ ) { //get the pattern info and make a vector cin >> patternHeight >> patternWidth; vector< vector< bool > > patternIsBuilding( patternHeight, vector<bool>( patternWidth, false ) ); //populate data for( int i = 0; i < patternHeight; i++ ) { string temp; cin >> temp; for( int j = 0; j < patternWidth; j++ ) { patternIsBuilding.at( i ).at( j ) = ( temp[ j ] == 'X' ); } } //get the area info and make a vector cin >> areaHeight >> areaWidth; vector< vector< bool > > areaIsBuilding( areaHeight, vector<bool>( areaWidth, false ) ); //populate data for( int i = 0; i < areaHeight; i++ ) { string temp; cin >> temp; for( int j = 0; j < areaWidth; j++ ) { areaIsBuilding.at( i ).at( j ) = ( temp[ j ] == 'X' ); } } //now the vectors contain a `true` for a building and a `false` for snow //need to find the matches for patternIsBuilding inside areaIsBuilding //how? } return 0; } </code></pre> <p>编辑:从下面的注释中,我从<code>J.F. Sebastian</code>得到了一个用Python编写的解决方案。这很管用,但我并不完全明白。{{cd2>在函数中注释了什么。在</p> ^{pr2}$
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不要用线条来思考。将整个页面读入字符串,并像对待其他字符一样处理行尾字符。在</p> <p>(你可能认为这是一个隐晦的暗示,但你只是问了一个如何做的“主意”。)</p> <p>编辑:因为你知道图片的整体尺寸,所以你可以从你想要匹配的图案的第一行向前数数字符,以便与第二行相匹配,以此类推。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
7 回答
如何添加表示整数的擦边字符串?
4 回答
如何添加要在Bokeh中使用的新font.ttf文件?
8 回答
如何添加要显示的矩阵XY轴编号和XY轴
8 回答
如何添加计数?
2 回答
如何添加计数器函数?
1 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
2 回答
如何添加计数器来跟踪while循环中的月份和年份?
6 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
7 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
3 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
2 回答
如何添加评论拉梅尔亚姆
9 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
4 回答
如何添加谷歌地点自动完成到Flask?
2 回答
如何添加超时、python discord bot
8 回答
如何添加超过1dp的检查
5 回答
如何添加距离方法
10 回答
如何添加跟随游戏的敌人精灵
10 回答
如何添加路径以便python可以找到程序?
2 回答
如何添加身份验证/安全性以使用happybase访问HBase?
1 回答