题解 B2114 配对碱基链
我们使用 C 风格字符数组存储碱基链,使用 strlen() 函数获取字符串长度,然后枚举字符串的每一位,将 ACGT 分别替换为 TGCA 即可。
有一点要注意:C 风格字符数组中,字符串后还会有一位 \0 表示字符串结尾,因此数组需要开大一位。
参考代码:
//By: Luogu@rui_er(122461)
#include <bits/stdc++.h>
#define rep(x,y,z) for(int x=y;x<=z;x++)
#define per(x,y,z) for(int x=y;x>=z;x--)
#define debug printf("Running %s on line %d...\n",__FUNCTION__,__LINE__)
using namespace std;
typedef long long ll;
const int N = 256;
char s[N];
template<typename T> void chkmin(T &x, T y) {if(x > y) x = y;}
template<typename T> void chkmax(T &x, T y) {if(x < y) x = y;}
int main() {
scanf("%s", s);
int n = strlen(s);
rep(i, 0, n-1) {
switch(s[i]) {
case 'A': putchar('T'); break;
case 'C': putchar('G'); break;
case 'G': putchar('C'); break;
case 'T': putchar('A'); break;
}
}
return 0;
}