Hello,大家好
又到了人民群众喜闻乐见的博客分享时间
今天我们要讲的是:
洛谷P1101:单词方阵
重要的是——单词方阵这道题
题目传送门:https://www.luogu.com.cn/problem/P1101
不知道博客园的超链接怎么插……好心的大神在评论区打出来QQ
这道题,不要想着dfs
伟大的[数据删除]曾说过
‘任何高精尖算法,都可以最原始的方法将其发挥到极致’
"骗分过样例,暴力出奇迹"
"暴搜挂着机,打表出省一"
于是
这道题
我走上了暴搜之路
我可是被称为"2019数组暴力搜索作死第一人"的
上代码
#include<bits/stdc++.h> using namespace std; char a[10001][10001],b[10001][10001]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>a[i][j]; b[i][j]='*'; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(a[i][j]=='y')//从左往右 { if(a[i][j+1]=='i') { if(a[i][j+2]=='z') { if(a[i][j+3]=='h') { if(a[i][j+4]=='o') { if(a[i][j+5]=='n') { if(a[i][j+6]=='g') { b[i][j]=a[i][j]; b[i][j+1]=a[i][j+1]; b[i][j+2]=a[i][j+2]; b[i][j+3]=a[i][j+3]; b[i][j+4]=a[i][j+4]; b[i][j+5]=a[i][j+5]; b[i][j+6]=a[i][j+6]; } } } } } } } if(a[i][j]=='y')//从上往下 { if(a[i+1][j]=='i') { if(a[i+2][j]=='z') { if(a[i+3][j]=='h') { if(a[i+4][j]=='o') { if(a[i+5][j]=='n') { if(a[i+6][j]=='g') { b[i][j]=a[i][j]; b[i+1][j]=a[i+1][j]; b[i+2][j]=a[i+2][j]; b[i+3][j]=a[i+3][j]; b[i+4][j]=a[i+4][j]; b[i+5][j]=a[i+5][j]; b[i+6][j]=a[i+6][j]; } } } } } } } if(a[i][j]=='y')//从左上往左下 { if(a[i+1][j+1]=='i') { if(a[i+2][j+2]=='z') { if(a[i+3][j+3]=='h') { if(a[i+4][j+4]=='o') { if(a[i+5][j+5]=='n') { if(a[i+6][j+6]=='g') { b[i][j]=a[i][j]; b[i+1][j+1]=a[i+1][j+1]; b[i+2][j+2]=a[i+2][j+2]; b[i+3][j+3]=a[i+3][j+3]; b[i+4][j+4]=a[i+4][j+4]; b[i+5][j+5]=a[i+5][j+5]; b[i+6][j+6]=a[i+6][j+6]; } } } } } } } if(a[i][j]=='y')//从上右下往左上 { if(a[i-1][j-1]=='i') { if(a[i-2][j-2]=='z') { if(a[i-3][j-3]=='h') { if(a[i-4][j-4]=='o') { if(a[i-5][j-5]=='n') { if(a[i-6][j-6]=='g') { b[i][j]=a[i][j]; b[i-1][j-1]=a[i-1][j-1]; b[i-2][j-2]=a[i-2][j-2]; b[i-3][j-3]=a[i-3][j-3]; b[i-4][j-4]=a[i-4][j-4]; b[i-5][j-5]=a[i-5][j-5]; b[i-6][j-6]=a[i-6][j-6]; } } } } } } } if(a[i][j]=='y')//从右往左 { if(a[i][j+1]=='i') { if(a[i][j-2]=='z') { if(a[i][j-3]=='h') { if(a[i][j-4]=='o') { if(a[i][j-5]=='n') { if(a[i][j-6]=='g') { b[i][j]=a[i][j]; b[i][j-1]=a[i][j-1]; b[i][j-2]=a[i][j-2]; b[i][j-3]=a[i][j-3]; b[i][j-4]=a[i][j-4]; b[i][j-5]=a[i][j-5]; b[i][j-6]=a[i][j-6]; } } } } } } } if(a[i][j]=='y')//从下往上 { if(a[i-1][j]=='i') { if(a[i-2][j]=='z') { if(a[i-3][j]=='h') { if(a[i-4][j]=='o') { if(a[i-5][j]=='n') { if(a[i-6][j]=='g') { b[i][j]=a[i][j]; b[i-1][j]=a[i-1][j]; b[i-2][j]=a[i-2][j]; b[i-3][j]=a[i-3][j]; b[i-4][j]=a[i-4][j]; b[i-5][j]=a[i-5][j]; b[i-6][j]=a[i-6][j]; } } } } } } } if(a[i][j]=='y')//从左往右 { if(a[i-1][j+1]=='i') { if(a[i-2][j+2]=='z') { if(a[i-3][j+3]=='h') { if(a[i-4][j+4]=='o') { if(a[i-5][j+5]=='n') { if(a[i-6][j+6]=='g') { b[i][j]=a[i][j]; b[i-1][j+1]=a[i-1][j+1]; b[i-2][j+2]=a[i-2][j+2]; b[i-3][j+3]=a[i-3][j+3]; b[i-4][j+4]=a[i-4][j+4]; b[i-5][j+5]=a[i-5][j+5]; b[i-6][j+6]=a[i-6][j+6]; } } } } } } } if(a[i][j]=='y')//从左往右 { if(a[i+1][j-1]=='i') { if(a[i+2][j-2]=='z') { if(a[i+3][j-3]=='h') { if(a[i+4][j-4]=='o') { if(a[i+5][j-5]=='n') { if(a[i+6][j-6]=='g') { b[i][j]=a[i][j]; b[i+1][j-1]=a[i+1][j-1]; b[i+2][j-2]=a[i+2][j-2]; b[i+3][j-3]=a[i+3][j-3]; b[i+4][j-4]=a[i+4][j-4]; b[i+5][j-5]=a[i+5][j-5]; b[i+6][j-6]=a[i+6][j-6]; } } } } } } } } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cout<<b[i][j]; } cout<<endl; } return 0; }
这题我是纯暴力
不过还是推荐大家费费脑子,dfs一下的
因为——那更快啊
额……拜了个拜
喜欢的大神记得点赞+评论+关注欧