bnu oj 34988 Happy Reversal(字符串处理:简单)

给定一堆二进制数,可以把某些数变化为其NOT形式

NOT形式对应原字符串中1,0变换

因为同一个数不能使用两次,所以我们要找到最小、 次小、 最大、 次大

比较最大-次小和次大-最小的值即可

代码如下:

#include 
#include 
#include 
#include 
#define MAXN 110
#define LL long long
#define INF 0x7fffffffffffffff
using namespace std;

int T, n, k;
LL a[5];
char str[MAXN], strtmp[MAXN];

LL Not_val(char str[]) {//用于得到当前二进制对应十进制数值
    LL ans = 0ll;
    LL tmp = 1ll;
    for(int i=k-1; i>=0; --i) {
        ans += (str[i]-'0')*tmp;
        tmp <<= 1;
    }
    return ans;
}

void Not(char str1[], char str2[]) {//把str2的NOT形式保存在str1中
    for(int i=0; i


你可能感兴趣的:(字符串)