记录编号 |
575427 |
评测结果 |
AAAAA |
题目名称 |
Cafe Stella |
最终得分 |
100 |
用户昵称 |
该账号已注销 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.148 s |
提交时间 |
2022-09-14 20:43:58 |
内存使用 |
0.00 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,a[10],cnt=0;
string s[10][10];
map<string,int>m;
map<char,int>q;
bool v[10]={0};
bool k=0;
int dfs(int ct){
if(ct==n){
for(int i=1;i<=n;i++){
if(s[1][i][0]!='+'){
q[s[1][i][0]]=a[i-1];
}
}
for(int i=2;i<=n;i++){
for(int j=2;j<=n;j++){
if(i==1&&j==1)continue;
m[s[i][j]]=q[s[1][i][0]]+q[s[j][1][0]];
}
}
for(int i=2;i<=n;i++){
for(int j=2;j<=n;j++){
int u=0;
for(int k=0;k<s[i][j].length();k++){
u*=(n-1);
u+=q[s[i][j][k]];
}
if(m[s[i][j]]!=0&&m[s[i][j]]!=u)return 0;
m[s[i][j]]=u;
}
}
for(int i=2;i<=n;i++){
cout<<s[1][i]<<'='<<q[s[1][i][0]]<<' ';
}
cout<<endl;
cout<<n-1<<endl;
k=1;
}
for(int i=0;i<n-1;i++){
if(v[i]==0){
v[i]=1;
a[ct]=i;
ct++;
dfs(ct);
ct--;
v[i]=0;
}
}
return 0;
}
int main(){
freopen("murasame_adultxp3.in","r",stdin);
freopen("murasame_adultxp3.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>s[i][j];
}
}
dfs(1);
if(k==0)
cout<<"FccKcuf"<<endl;
return 0;
}