輸入 N 組數據,每組給 a(單位 DNA 行數,奇數,3≤a≤39)和 b(重複度,1≤b≤20)。輸出 DNA 雙螺旋形狀:基本單元為 a 行的 X 字形,相鄰單元首尾相連(共用一行),共 b 個單元。組之間空一行。
基本單元(a=5 為例):
X X X X X X X X X
第 1 個單元完整輸出 a 行。第 2 個單元去掉首尾行(共用),輸出 a-2 行。之後單元交替:奇數單元完整,偶數單元去首尾。若 b 為偶數,最後補一行單元尾行。
#includeint main() { int T, a, b; scanf("%d", &T); while (T--) { scanf("%d%d", &a, &b); for (int unit = 1; unit <= b; unit++) { int start = (unit % 2 == 1) ? 1 : 2; int end = (unit % 2 == 1) ? a : a-1; for (int i = start; i <= end; i++) { for (int j = 1; j <= a; j++) { if (j == i || j == a - i + 1) printf("X"); else printf(" "); if ((i <= a/2 && j == a - i + 1) || (i > a/2 && j == i)) break; } printf("\n"); } } if (b % 2 == 0) { // 偶數單元補尾行 for (int i = 1; i <= a; i++) { if (i == 1 || i == a) printf("X"); else printf(" "); } printf("\n"); } if (T) printf("\n"); } return 0; }