
正文
密码(Password)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
#include<cstdio>
#include<cstring>
using namespace std;
int k, cnt;
char G[][][], ans[];
bool dfs(int col){
if (col == ){
if (++cnt == k){
ans[col] = '\0';
printf("%s\n", ans);
return true;
}
return false;
} bool vis[][];
memset(vis, false, sizeof(vis));
for (int i = ; i<; i++)
for (int j = ; j<; j++)
vis[i][G[i][j][col] - 'A'] = ;
for (int i = ; i<; i++)
if (vis[][i] && vis[][i]){
ans[col] = i + 'A';
if (dfs(col + )) return true;
} return false;
}
int main()
{
/*
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
*/
int T;
scanf("%d", &T);
while (T--){
scanf("%d", &k);
for (int i = ; i<; i++)
for (int j = ; j<; j++)
scanf("%s", G[i][j]); cnt = ;
if (!dfs()) puts("NO");
}
/*
fclose(stdin);
fclose(stdout);
*/
return ;
}






