QvQ


私信TA

用户名:927937414

访问量:30536

签 名:

还是好好学习吧

等  级
排  名 79
经  验 9650
参赛次数 9
文章发表 44
年  龄 19
在职情况 学生
学  校
专  业 软件工程

  自我简介:

还没学算法的弱鸡

解题思路:

注意事项:

参考代码:

#include <iostream>
using namespace std;
int count,n,book[21];
char str[21];
int b[21];
void dfs(int step){
	if(step>n){
		count++;
		return;
	}
	for(int i=1;i<=n;i++){
		if(book[i]==0){
			book[i]=1;
			dfs(step+1);
			book[i]=0;
		}
	}
	return;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>str[i];
	dfs(1);
	for(int i=1;i<=n;i++)
	b[i]=1;
	for(int i=1;i<=n;i++)
		for(int j=i+1;j<=n;j++)
			if(str[i]==str[j])
				b[i]++;
	for(int i=1;i<=n;i++)
		count=count/b[i];
	cout<<count<<endl;
	return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »