0分,半乱码求助
查看原帖
0分,半乱码求助
251157
Aresene楼主2021/12/6 13:50

没有希望了,垃圾东西写的垃圾代码罢。

#include <bits/stdc++.h>
using namespace std;
char *n = new char[0];
char* filling(char *a,int start,int end,char *b);
char*/*再做一个函数用于递给主函数数据,或者static*/ cut(char *a,int s_w/*哪里开始查*/){
	n = new char[s_w];
	if(s_w == 1)if(a[s_w] == '1'){
		n[s_w] = 'I';
		return n;
	}else {
		n[s_w] = 'B';
		return n;
	}
	//边界条件
	else {
		bool B_I = 0;
		int sum = 1;
		for(int i = s_w/2;i <= s_w;i++){
			if(B_I == 1){
				n[sum] = 'F';
				sum++;
				break;
			}
			else if(a[i] == '1'){
				B_I = 1;
			}else continue;
		}
		filling(n,s_w/2,s_w,cut(a,s_w/2));//填充数组 
	}
	return n;
}
char* filling(char *a,int start,int end,char *b){
	int sum = 1;
	for(int i = start;i <= end;i++)a[i] = b[sum];
	return a;
}
/*int hm(int size){
	int sum1 = 0,i;
	for(i = size;i >= 1;i/2){
		sum1++;
	}
	return pow(2,sum1);
}*/

int main(){
	int S_Of_N;
	cin >> S_Of_N;
	S_Of_N = pow(2,S_Of_N);
	char t[S_Of_N];
	for(int i = S_Of_N;i >= 1;i--)cin >> t[i]; 
//	int fbi_hm = hm(S_Of_N);
	cout << cut(t,S_Of_N/*,fbi,hm*/);
	return 0;
}
2021/12/6 13:50
加载中...