Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
29799 23级徐泽厚 【J】T2 C++ 通过 100 2 MS 280 KB 698 2024-05-27 14:34:06

Tests(10/10):


#include<bits/stdc++.h> using namespace std; int n,k,c[114],ans; bool b[114]; vector<int> a; bool check(int x){ for (int i=0;i<a.size();i++) if (a[i]==x) return 1; return 0; } int gs(int x){ int ans=0; while (x) ans++,x/=10; return ans; } void dfs(int step,int num){ if (step==k){ if (check(num)==0) ans++,a.push_back(num); return; } for (int i=1;i<=n;i++){ if (b[i]) continue; b[i]=1; int temp=num*pow(10,gs(c[i]))+c[i]; dfs(step+1,temp); b[i]=0; } } int main(){ cin>>n>>k; for (int i=1;i<=n;i++) scanf("%d",c+i); dfs(0,0); cout<<ans<<endl; return 0; }


测评信息: