警示后人(如果你WA on #5 #6)

P1104 生日

maxiaomeng @ 2024-11-30 21:50:53

输入靠的同学输出


by ckn0915 @ 2024-12-08 19:25:15

@maxiaomeng

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    string d[n];
    int a[n],b[n],c[n],v[n];
    for(int i=0;i<n;i++){
        cin>>d[i]>>a[i]>>b[i]>>c[i];
    }
    for(int i=0;i<n;i++){
        for(int j=i;j<n;j++){
                if(a[i]>a[j]){
                   swap(a[i],a[j]);
                   swap(b[i],b[j]);
                   swap(c[i],c[j]);
                   swap(d[i],d[j]);
                }
                else if(a[i]==a[j]){
                    if(b[i]>b[j]){
                    swap(a[i],a[j]);
                    swap(b[i],b[j]);
                    swap(c[i],c[j]);
                    swap(d[i],d[j]);
                    }
                    if(b[i]==b[j]){
                        if(c[i]>c[j]){
                        swap(a[i],a[j]);
                        swap(b[i],b[j]);
                        swap(c[i],c[j]);
                        swap(d[i],d[j]);
                        }
                    }
                }
        }
    }
    for(int i=0;i<n;i++) cout<<d[i]<<endl;

    return 0;
}

80分


by maxiaomeng @ 2024-12-09 13:24:34

@ckn0915 你这个也是没有判断输入靠后的先输出

2
A 1999 1 1
B 1999 1 1

应该输出:

B
A

你的程序输出:

A
B

by ckn0915 @ 2024-12-09 16:54:18

谢谢大佬,已关yi@maxiaomeng


by ckn0915 @ 2024-12-09 17:08:08

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    string d[n];
    int a[n],b[n],c[n];
    for(int i=0;i<n;i++){
        cin>>d[i]>>a[i]>>b[i]>>c[i];
    }
    for(int i=0;i<n;i++){
        for(int j=i;j<n;j++){
                if(a[i]==a[j]&&b[i]==b[j]&&c[i]==c[j]&&i!=j){
                    if(i<j){
                        swap(a[i],a[j]);
                        swap(b[i],b[j]);
                        swap(c[i],c[j]);
                        swap(d[i],d[j]);
                    }
                }
                if(a[i]>a[j]){
                   swap(a[i],a[j]);
                   swap(b[i],b[j]);
                   swap(c[i],c[j]);
                   swap(d[i],d[j]);
                }
                else if(a[i]==a[j]){
                    if(b[i]>b[j]){
                    swap(a[i],a[j]);
                    swap(b[i],b[j]);
                    swap(c[i],c[j]);
                    swap(d[i],d[j]);
                    }
                    if(b[i]==b[j]){
                        if(c[i]>c[j]){
                        swap(a[i],a[j]);
                        swap(b[i],b[j]);
                        swap(c[i],c[j]);
                        swap(d[i],d[j]);
                        }
                    }
                }
        }
    }
    for(int i=0;i<n;i++) cout<<d[i]<<endl;

    return 0;
}

by ckn0915 @ 2024-12-09 17:08:34

 if(a[i]==a[j]&&b[i]==b[j]&&c[i]==c[j]&&i!=j){
                    if(i<j){
                        swap(a[i],a[j]);
                        swap(b[i],b[j]);
                        swap(c[i],c[j]);
                        swap(d[i],d[j]);
                    }
                }

|