0
已解决
题目链接: 酷町堂:2731
跟着老师的视频微课一步一步写的,不知道为什么会输出样例两行倒过来了
样例输出 Sample Output
1.375 1.25 10 8
0.8 2.4 12 5
我的输出:
0.8 2.4 12 5
1.375 1.25 10 8
接下来是WA0分的代码求大佬找错
#include<iostream>
#include<algorithm>
using namespace std;
struct game{
double l,r,g;
double gameN(){
return l/r;
}
}king,a[105];
int n;
bool cmp(game x,game y){
if(x.g!=y.g) x.g>y.g;
return x.l>y.l;
}
int main(){
cin>>n>>king.l>>king.r;
for(int i=1;i<=n;i++){
cin>>a[i].l>>a[i].r;
if(a[i].gameN()>king.gameN()){
a[i].g=(a[i].gameN()-king.gameN())*2;
}else if(a[i].gameN()==king.gameN()){
a[i].g=0;
}else{
a[i].g=(king.gameN()-a[i].gameN())/2;
}
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++)
cout<<a[i].g<<" "<<a[i].gameN()<<" "<<a[i].l<<" "<<a[i].r<<endl;
return 0;
}