求救!感觉没错,结果0分

P4414 [COCI2006-2007#2] ABC

Shi_No_Bu_ @ 2024-07-23 12:11:06

#include<bits/stdc++.h>
using namespace std;
int arr1[3],x;
char arr2[3];
int main(){
    for(int i=0;i<3;i++){
        cin>>arr1[i];
    }
    for(int i=0;i<3;i++){
        cin>>arr2[i];
    }
    for(int i=0;i<3;){
        if(arr1[i]>arr1[i+1]){
            x=arr1[i];
            arr1[i]=arr1[i+1];
            arr1[i+1]=x;
            i=0;
        }
        else i++;
    }
    for(int i=0;i<3;i++){
        if(arr2[i]=='A'){
            cout<<arr1[0]<<" ";
        }
        if(arr2[i]=='B'){
            cout<<arr1[1]<<" ";
        }
        if(arr2[i]=='C'){
            cout<<arr1[2]<<" ";
        }
    }
    return 0;
}

输出是对的,但是0分,不知道为什么

测评结果


by SmartCirno @ 2024-07-24 18:19:56

这是我的代码

#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;
}

|