30求调

P1071 [NOIP2009 提高组] 潜伏者

```cpp #include<bits/stdc++.h> using namespace std; int main(void) { string s,b,a; int biaoji[10001]={}; cin>>s>>b>>a; for(int i=0;i<s.length();i++) { for(int j=0;j<b.length();j++) { if(s[i]==s[j]&&b[i]!=b[j]&&i!=j) { cout<<"Failed"; return 0; } if(s[i]!=s[j]&&b[i]==b[j]&&i!=j) { cout<<"Failed"; return 0; } } } for(int i=0;i<b.length();i++) { biaoji[b[i]-'A'+1]++; } for(int i=1;i<=26;i++) { if(biaoji[i]==0) { cout<<"Failed"; return 0; } } for(int i=0;i<a.length();i++) { for(int j=0;j<s.length();j++) { if(a[i]==s[j]) { cout<<b[j]; break; } } } } ``` 两个错误 第一 你用了“b[i]-'A'+1" 所以下面要从1-26 而不是 0-25 第二 倒数几行“if(a[i]==s[j]) cout<<b[j]”不排除又多次输出 所以输出了就要break
by IE_Steve @ 2023-10-03 13:14:26


谢谢
by YaoTianYu @ 2023-10-03 13:33:13


|