//第一题 #include <iostream> #include <cstring> #include <vector> using namespace std; void dfs(vector<string> strs, int index, int len, int &count, vector<int> &ans) { if(index==len) { int a[6]={0}; for(int j=0;j<ans.size();j++) { a[ans[j]]++; } for(int k=0;k<=5;k++) { if(a[k]>1) { return; } } count++; return; } for(int m=0;m<strs[index].length();m++) { ans.push_back(strs[index][m]-'0'); dfs(strs,index+1,len,count,ans); ans.pop_back(); } return; } int main() { int n; while(cin>>n) { vector<string> strs; for(int i=0;i<n;i++) { string tmp; cin>>tmp; strs.push_back(tmp); } int len; int count=0; len=strs.size(); vector<int> ans; dfs(strs,0,len,count,ans); cout<<count<<endl; } return 0; }
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务