当前位置:网站首页>HNUCM 您好中国
HNUCM 您好中国
2022-08-03 23:28:00 【_rosy】
题目描述
小明一天突发奇想,随机生成了一个全部由大写字母组成的方阵。他惊奇地发现这个方阵中包含中国的英文单词“CHINA”。
他希望你能够编写一个程序,能够找出一个由大写字母组成的方阵中所有不同的“CHINA”,要“CHINA”求中五个字母要连续出现,方向可以是上、下、左、右中的任意一个。
例如在下面的4*4的方阵中就包含了两个不同的“CHINA”。一个是第1行第1列到第3列的“CHI”,加上第2行第3列的“N”以及第2行第2列的“A”组成的“CHINA”;还有一个是第1行第1列到第3列的“CHI”,加上第2行第3列的“N”以及第3行第3列的“A”。
CHIA
CANT
GRAC
BBDE
输入
单组输入,每个测试样例包含N+1行。
第1行为方阵的大小N(N<=30)。
第2行到第N+1行用于存储由大写字母组成的方阵,每一行包含N个大写字母。
输出
输出方阵中包含的不同的CHINA的个数。如果一个都没有找到,则输出0。
样例输入 Copy
4 CHIA CANT GRAC BBDE
样例输出 Copy
2
#include<iostream>
#include<string>
#include<math.h>
#include<algorithm>
#include<map>
#include<set>
#include<string.h>
#include<queue>
using namespace std;
int n,cnt;
char c[31][31];
string str="CHINA";
int vis[35][35];
void dfs(int x,int y,int t){
if(x<0||x>=n||y<0||y>=n)return;
if(t>=5){
cnt++;
return ;
}
if(c[x+1][y]==str[t]){
vis[x+1][y]=1;
dfs(x+1,y,t+1);
vis[x+1][y]=0;
}
if(c[x-1][y]==str[t]){
vis[x-1][y]=1;
dfs(x-1,y,t+1);
vis[x-1][y]=0;
}
if(c[x][y+1]==str[t]){
vis[x][y+1]=1;
dfs(x,y+1,t+1);
vis[x][y+1]=0;
}
if(c[x][y-1]==str[t]){
vis[x][y-1]=1;
dfs(x,y-1,t+1);
vis[x][y-1]=0;
}
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>c[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(c[i][j]=='C'){
vis[i][j]=1;
dfs(i,j,1);
vis[i][j]=0;
}
}
}
cout<<cnt<<endl;
}
题目描述
小明一天突发奇想,随机生成了一个全部由大写字母组成的方阵。他惊奇地发现这个方阵中包含中国的英文单词“CHINA”。
他希望你能够编写一个程序,能够找出一个由大写字母组成的方阵中所有不同的“CHINA”,要“CHINA”求中五个字母要连续出现,方向可以是上、下、左、右中的任意一个。
例如在下面的4*4的方阵中就包含了两个不同的“CHINA”。一个是第1行第1列到第3列的“CHI”,加上第2行第3列的“N”以及第2行第2列的“A”组成的“CHINA”;还有一个是第1行第1列到第3列的“CHI”,加上第2行第3列的“N”以及第3行第3列的“A”。
CHIA
CANT
GRAC
BBDE
输入
单组输入,每个测试样例包含N+1行。
第1行为方阵的大小N(N<=30)。
第2行到第N+1行用于存储由大写字母组成的方阵,每一行包含N个大写字母。
输出
输出方阵中包含的不同的CHINA的个数。如果一个都没有找到,则输出0。
样例输入 Copy
4 CHIA CANT GRAC BBDE
样例输出 Copy
2
边栏推荐
猜你喜欢
Minimized installation of debian11
Another MySQL masterpiece published by Glacier (send the book at the end of the article)!!
Software testing is seriously involution, how to improve your competitiveness?
FinClip,助长智能电视更多想象空间
redis持久化方式
设置工作模式与环境(下):探查和收集信息
禾匠编译错误记录
跨域的学习
直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践
ML之interpret:基于titanic泰坦尼克是否获救二分类预测数据集利用interpret实现EBC模型可解释性之全局解释/局部解释案例
随机推荐
Storage engine written by golang, based on b+ tree, mmap
AOSP CameraLatencyHistogram的原理与使用
Walk the Maze BFS
Take an example of a web worker
RSS feeds WeChat public - feed43 asain
override学习(父类和子类)
【职场杂谈】售前与销售工作配合探讨
IELTS essay writing template
Software testing is seriously involution, how to improve your competitiveness?
1067 Sort with Swap(0, i)
internship:编写excel表的上传方法(导入)
BMN: Boundary-Matching Network for Temporal Action Proposal Generation Reading Notes
Shell 用法梳理总结
Use tf.image.resize() and tf.image.resize_with_pad() to resize images
【论文阅读】TRO 2021: Fail-Safe Motion Planning for Online Verification of Autonomous Vehicles Using Conve
First domestic open source framework 】 【 general cloud computing framework, any program can be made into cloud computing.
The curl using guide
The principle and use of AOSP CameraLatencyHistogram
Redis persistence method
Shell编程之循环语句与函数