1 solutions

  • 0
    @ 2023-12-17 22:06:08

    答案是 CDEBEEDCBA

    #include<cstdio>
    #include<string>
    #include<cstring>
    #include<utility>
    #include<cmath>
    #include<map>
    #include<queue>
    #include<set>
    #include<algorithm>
    #include<vector>
    #include<iostream>
    #define ll long long
    #define pii pair<int,int>
    #define mp make_pair
    #define fi first
    #define se second
    #define inf 0x7fffffff
    using namespace std;
    string s;
    int c[100];
    int count(char ch)
    {
    	return c[ch-'A'];
    }
    int dfs(int x)
    {
    	if(x==10)
    	{
    		if(s.find('B')+1==s[0]-'A'+2)//1
    		{
    			int x=0,y,i;
    			for(i=1;i<10;i++)
    			{
    				if(s[i]==s[i-1])x++,y=i;
    			}
    			if(x==1&&y==s[1]-'A'+2)//2
    			if(s[2]=='A'&&s[0]=='A'||s[2]=='B'&&s[1]=='B'||s[2]=='C'&&s[3]=='C'
    			||s[2]=='D'&&s[6]=='D'||s[2]=='E'&&s[5]=='E')//3
    			if(count('A')==s[3]-'A')//4
    			if(s[4]=='A'&&s[9]=='A'||s[4]=='B'&&s[8]=='B'||s[4]=='C'&&s[7]=='C'
    			||s[4]=='D'&&s[6]=='D'||s[4]=='E'&&s[5]=='E')//5
    			if(s[5]<='D'&&count('A')==count(s[5]+1)||s[5]=='E'&&count('A')!=count('B')
    			&&count('A')!=count('C')&&count('A')!=count('D')&&count('A')!=count('E'))//6
    			if(abs((int)s[6]-s[7])==4-(s[6]-'A'))//7
    			if(count('A')+count('E')==s[7]-'A'+2)//8
    			{
    				x=count('B')+count('C')+count('D');
    				y=s[8]-'A';
    				if(y==0&&(x==2||x==3||x==5||x==7)||y==1&&(x==1||x==2||x==6)||
    				y==2&&(x==1||x==4||x==9)||y==3&&(x==1||x==8)||y==4&&x==5)//9
    				{
    					cout<<s;
    				}
    			}
    		}
    		return 0;
    	}
    	s+='A';
    	c[0]++;
    	dfs(x+1);
    	c[0]--;
    	c[1]++;
    	s[x]='B';
    	dfs(x+1);
    	c[1]--;
    	c[2]++;
    	s[x]='C';
    	dfs(x+1);
    	c[2]--;
    	c[3]++;
    	s[x]='D';
    	dfs(x+1);
    	c[3]--;
    	c[4]++;
    	s[x]='E';
    	dfs(x+1);
    	c[4]--;
    	s=s.substr(0,x);
    	return 0;
    }
    int main()
    {
    	int i,j,k,n,m,x,y,z,t;
    	s="";
    	dfs(0);
    }
    

    Information

    ID
    5
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    3
    Tags
    (None)
    # Submissions
    34
    Accepted
    22
    Uploaded By