String Statistics(2008年珠海市ACM程序设计竞赛)
String Statistics
描述
You have an n × n matrix of lower-case letters. You start from somewhere in the matrix, walk in one of the eight directions (left, right, up, down, up-left, up-right, down-left, down-right) and concatenate every letter you meet, in the order you see them, to form a string. You can stop anywhere (possibly not moving at all!), but you cannot go out of the matrix, or change direction in the middle of the journey.How many different non-empty strings can you get?
输入
The first line contains t (1 ≤ t ≤ 10), the number of test cases followed. Each test case begins with one integer n(1 ≤ n ≤ 30), followed by n lines, containing the matrix. The matrix will contain lower-case letters only.
输出
For each test case, print the number of different strings you can get.
样例输入
样例输出
#include<iostream> #include<string> #include<set> using namespace std;int dx[8]={0,0,1,-1,1,1,-1,-1}; //八个方向int dy[8]={1,-1,0,0,-1,1,-1,1}; int n; char op[40][40]; string str; set<string>p;void dfs(int i,int j,int k) //按同方向搜索{if(i>0&&j>0&&i<=n&&j<=n){str+=op[i][j];p.insert(str);dfs(i+dx[k],j+dy[k],k);} } int main() {int i,j,k,t;cin>>t;while(t--){cin>>n;getchar();for(i=1;i<=n;i++)for(j=1;j<=n;j++)cin>>op[i][j];p.clear(); //每寻找一次需要清除容器里的东西 for(i=1;i<=n;i++)for(j=1;j<=n;j++)for(k=0;k<8;k++) { str = "";str+=op[i][j];p.insert(str);dfs(i+dx[k],j+dy[k],k);}cout<<p.size()<<endl;}return 0; }
转载于:https://www.cnblogs.com/lavender913/p/3319857.html
String Statistics(2008年珠海市ACM程序设计竞赛)相关推荐
- [置顶]2010年东北大学ACM程序设计竞赛冬季校赛题解
8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练. AC的题如下 NEUOJ 1112 I Love Apple Description So many people love app ...
- “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 F.校赛~校赛~【思维+规律题】
校赛~校赛~ Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description SDUT 的校赛是从 20 ...
- 次短路问题(陕西师范大学第九届ACM程序设计竞赛-F 新冠病毒要回家)
求到顶点v的次短路时,有两种情况,要么是到其他某个顶点u的最短路再加上u->v的边,要么是到某个顶点u的次短路再加上u->v的边. 一般我们用Dijkstra求得最短路(无负权边),由此我 ...
- 哈尔滨理工大学第五届ACM程序设计竞赛(热身)
Link:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2234 土豪银行 Time ...
- 华南师大 2017 年 ACM 程序设计竞赛新生初赛题解
华南师大 2017 年 ACM 程序设计竞赛新生初赛题解 华南师范大学第很多届 ACM 程序设计竞赛新生赛(初赛)在 2017 年 11 月 20 日 - 27 日成功举行,共有 146 名同学有效参 ...
- 读ACM程序设计竞赛基础教程之-------技巧小结
ACM程序设计竞赛基础教程 前言 分治算法 计数问题(统计数字出现个数) 查找等式的解(思维) 递归算法 汉诺塔问题 贪心算法 钓鱼问题 前言 鉴于本人原因,本文记录的是博主认为之前没有想过的思路和想 ...
- 第十四届中北大学ACM程序设计竞赛 J.ZBT的游戏
问题描述 第14届中北大学程序设计竞赛来了,集训队新买了一大堆气球,气球一共有K种颜色(1<=K<=256),气球的颜色从1-K编号. ZBT童心未泯,他发明了一种摆放气球的游戏,规则如下 ...
- 重复 桂林电子科技大学第三届ACM程序设计竞赛
题目链接:https://ac.nowcoder.com/acm/contest/558/B import java.util.HashSet; import java.util.Scanner;pu ...
- 青岛农业大学第九届ACM程序设计竞赛
Problem A 喆神装书 https://ac.nowcoder.com/acm/contest/906/A 题意:是否能够把所有的书都放在两个背包里. 题解:贪心 C++版本一 /* *@Aut ...
最新文章
- 数据库定时导出和互备一例
- 基于docker搭建svn-server
- Invoke shell in Java
- 利用百度api判断已知经纬度的一个点是否在多边形内
- Deployment descriptor
- Oracle ASM 翻译系列第十一弹:高级知识 Offline or drop?
- java魔方游戏代码_java swing实现的魔方小游戏源码附带视频指导运行教程
- day69-oracle 22-DBCA
- 微软新一代企业应用平台 促进动态IT发展
- SPI协议学习Cubmx——读写Flash W25Q64
- 每个程序员都应该阅读的10本数据结构和算法书籍
- PDF的页面方向倒了,怎么调整并保存
- RISC-V学习笔记【简介】
- [Android]在App中使用相机
- Cocos Creater(3.6.1)2D游戏的一些设计思想
- Oracle查询速度慢的原因总结
- eclipse + sakai
- 结算更高效,成本更节省,风控更全面,用友银企联助力万家企业加速数字变革
- android 安装器,APK安装器
- 图像测试卡规格选择——SFRplus测试卡
热门文章
- C++:39---继承中构造函数、析构函数的关系
- c++的虚拟继承 的一些思考吧
- Sublime Text 2配置强大的IDE开发环境,运行java
- codeforces 339A-C语言解题报告
- ffmpeg解码器优化
- 养心灵,才能美容颜,拥有好日子(图)
- 新兴的多媒体格式——MXF 文件格式分析 和简介
- 关于Video Renderer和Overlay Mixer
- Springboot Mybatis 整合(完整版)
- java 的几种对象 (PO,VO,DAO,BO,POJO) 解释