getchar()害人不浅!!!
查看原帖
getchar()害人不浅!!!
533069
Khaleesi楼主2021/11/5 11:42

明明输出和各数据点一模一样,但居然全WA!!! getchar()害人不浅,读了多余空行!!!把getchar()改成scanf一次读入就行了——>下面注释的是搞人的getchar

#include<bits/stdc++.h>
using namespace std;
int n;
int sum=1;
bool flag1=false,flag2=false;
int lt[1000],rt[1000];
int mid,num;
char basic[100001];
char pro;
char qian[1000010];
void digui(int left,int right)
{
	flag1=false,flag2=false;
	if(left<right)
	{
		digui(left,(left+right)/2);
		digui((left+right+1)/2,right);
	}
	for(int i=left;i<=right;i++)
	{
		if(basic[i]=='0')
		{
			flag1=true;
		}
		else flag2=true;
	}
	if(flag1&&flag2)
	{
		pro='F';
	}
	else if(flag1&&(!flag2))
	{
		pro='B';
	}
	else if(flag2&&(!flag1))
	{
		pro='I';
	}
	cout<<pro;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		sum*=2;
	}
//	getchar();
//	for(int i=1;i<=sum+1;i++)
//	{
//		pro=getchar();
//		basic[i]=pro;
//	}
//	digui(1,sum);
	scanf("%s",basic);
	digui(0,sum-1);
	return 0;
}
2021/11/5 11:42
加载中...