Đây là bài có độ khó 1.4 (nghĩa là rất dễ) mình nghĩ code mình đúng mà nộp lên sai ngay test đầu. Ko biết lí do tại sao mong các bạn giúp đỡ.
Link gốc: https://open.kattis.com/problems/cups
CODE của mình :
#include<bits/stdc++.h>
#define FOR(i, a, b) for(int i=a; i<=b; i++)
using namespace std;
int t;
double n;
string s, x, y;
int check_int(string x){
for(int i=0; x[i]; i++)
if (x[i] <= '9' && x[i]>='0')
return 1;
return 0;
}
double bien(string s){
int n;
for(int i=0; s[i]; i++)
n=n*10+s[i]-'0';
return n;
}
struct mang{
int u; string v;
};
mang a[1000111];
bool cmd(mang a, mang b){
return a.u < b.u;
}
int main(){
cin>>t;
for(int i=1; i<=t; i++){
cin>>x>>y;
if (check_int(x)==1){
n=(double)bien(x)/2;
s=y;
}
else{
n=bien(y);
s=x;
}
a[i].u=n; a[i].v=s;
}
sort(a+1,a+1+t,cmd);
for(int i=1; i<=t; i++) cout<<a[i].v<<"\n";
}