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]);
}
}