玄关,80分,大佬求助(5、10错误,其他都对。)

P4414 [COCI2006-2007#2] ABC

@[zhengweihao](/user/1351134) ,建议这样写 ```cpp #include<iostream> #include<algorithm> #include<string> using namespace std; int main() { string s; int max_i=0,mid_i=0,min_i=0,a[3]={0},n[3]={0}; cin>>a[0]>>a[1]>>a[2]>>s; for(int i=0;i<3;i++) { if(s[i]=='C')max_i=i; else if(s[i]=='B')mid_i=i; else if(s[i]=='A')min_i=i; } n[max_i]=max(a[0],max(a[1],a[2])); n[min_i]=min(a[0],min(a[1],a[2])); for(int i=0;i<3;i++)if(a[i]!=n[max_i]&&a[i]!=n[min_i])n[mid_i]=a[i]; for(int i=0;i<3;i++)cout<<n[i]<<" "; return 0; } ```
by goIdie @ 2024-08-14 12:28:49


hack ``` 2 1 3 ACB ```
by 奈芙蓮 @ 2024-08-14 12:45:24


可以排序+映射(有点小题大做了) 但码量挺少的 @[zhengweihao](/user/1351134) ``` #include <bits/stdc++.h> using namespace std; int main() { int n,a[3]; map<char,int> mp; for(int i=0;i<3;i++) cin>>a[i]; sort(a,a+3); mp['A']=a[0]; mp['B']=a[1]; mp['C']=a[2]; char c; for(int i=0;i<3;i++) { cin>>c; cout<<mp[c]<<" "; } return 0; } ```
by _____QWQ_____ @ 2024-08-14 13:05:11


|