2 条题解

  • 0
    @ 2026-4-16 17:21:08
    #include<bits/stdc++.h>
    #define ll long long
    #pragma GCC optimize(2)
    #define un unsigned
    #define int long long
    #define db double
    #define inf 1000000000000000
    #define st string
    #define ct const
    #define xh(a,b,c) for(int a=b;a<=c;a++)
    #define wx while(1)
    #define dn(a,b,c) for(int a=b;a>=c;a--)
    using namespace std;
    string s;
    void dfs(string s){
    	bool f1=0,f2=0;
    	xh(i,0,s.size()-1){
    		if(s[i]!='0')f1=1;
    		if(s[i]!='1')f2=1;
    	}
    	if(!f1){
    		cout<<'A';
    		return ;
    	}
    	if(!f2){
    		cout<<'B';
    		return ;
    	}
    	cout<<'C';
    	string s1,s2;
    	xh(i,0,s.size()/2-1)s1+=s[i];
    	dfs(s1);
    	xh(i,s.size()/2,s.size()-1)s2+=s[i];
    	dfs(s2);
    }
    signed main(){
    	cin>>s;
    	dfs(s);
    	return 0;
    }
    
    • -5
      @ 2023-1-4 19:30:38

      和FBI树很像

      #include<bits/stdc++.h>
      using namespace std;
      int n;
      string a;
      char dfs(int h,int t)
      {
      	//cout<<k<<endl;
      	if(t-h>=1)
      	{
      		int s=0,k=0;
      		for(int i=h;i<=t;i++)
      		s=s+a[i]-48,k++;
      		if(s==0)cout<<"A";
      		else if(s==k)cout<<"B";
      		else
      		{
      			cout<<"C";
      			dfs(h,(t-h)/2+h);
      			dfs((t-h)/2+h+1,t);
      		}
      	}
      	else
      	{
      		if(a[h]=='1')cout<<"B";
      		else cout<<"A";
      	}
      }
      int main()
      {
      	cin>>a;
      	dfs(0,a.size()-1);
      }
      
      • 1

      信息

      ID
      86
      时间
      1000ms
      内存
      256MiB
      难度
      3
      标签
      (无)
      递交数
      122
      已通过
      68
      上传者