题目意思:
给你一个n*m的字符(有atcg)矩阵,要你输出一个n*m的字符矩阵,使得其中每一个2*2的子字符矩阵都有(atcg),还要使得答案与原字符矩阵不同的字符最少
题解思路:
1.首先,经过分析,可以知道这样一个事实:
我们得到的答案字符矩阵,要么每一行仅有两种字符交替组成,相邻两行字符相交集为空。或者每一列仅有两种字符交替组成,相邻两列字符的相交集为空。
2.有上面这个事实,可以知道答案是如下两种形式:
(1)
"(x,y),(x,y),(x,y)....."//(y,x)
"(p,q),(p,q),(p,q)..."//(q,p)
"(x,y),(x,y),(x,y)....."//(y,x)
"(p,q),(p,q),(p,q)..."//(q,p)
...其中,(x,y),(p,q)表示[A,T], [T,A] ,[A,C],[C,A],......的其中两种,且并集为(atcg),双斜杠表示每一行有两种顺序(正序和逆序)
(2)
请把上面的矩阵转90°来看,
3.之后,枚举,然后反向构造矩阵即可