- 分享
云剪贴板怎么寄了
- @ 2025-9-27 11:12:31
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
char cmp[8] = {' ' , 'y' , 'i' , 'z' , 'h' , 'o' , 'n' , 'g'};
char a[N][N];
bool b[N][N];
void dfs(int n , int a1 , int b1 , int way)
{
if(n == 7 and a[a1][b1] == cmp[n])
{
if(way == 1)
{
int a2 = a1;
int b2 = b1;
for(int i = 0 ; i < n ; i ++)
{
b[a2 ++][b2 ++] = 1;
}
}
}
if(way == 5)
{
if(a[a1 - 1][b1 - 1] == 'i' and a1 >= 7 and b1 >= 7) dfs(n + 1 , a1 - 1 , b1 - 1 , 1);
if(a[a1][b1 - 1] == 'i' and b1 >= 7) dfs(n + 1 , a1 , b1 - 1 , 2);
if(a[a1 - 1][b1 - 1] == 'i' and a1 >= 7 and b1 >= 7) dfs(n + 1 , a1 + 1 , b1 - 1 , 1);
}
if(way == 1)
{
if(a[a1][b1] == cmp[n]) dfs(n + 1 , a1 - 1 , b1 - 1 , 1);
else return;
}
if(way == 2)
{
if(a[a1][b1] == cmp[n]) dfs(n + 1 , a1 , b1 - 1 , 1);
else return;
}
}
int main()
{
int n;
cin >> n;
for(int i = 1 ; i <= n ; i ++)
{
for(int j = 1 ; j <= n ; j ++)
{
cin >> a[i][j];
}
}
for(int i = 0 ; i < n ; i ++)
{
for(int j = 0 ; j < n ; j ++)
{
if(a[i][j] == 'y') dfs(1 , i , j , 5);
}
}
}
2 comments
-
Csvoner SU @ 2025-9-28 21:52:28Edited
首页右侧 常用功能
-
@ 2025-9-28 18:11:54
希腊奶
- 1