I am getting run error in hackerblocks. i checked my code with different inputs and getting correct answer. so what is my problem in the code. below is my code-
#include
#include
#include<string.h>
#include
#include
using namespace std;
string rev;
string comp;
char *ss1;
int k;
int compare(string s1, string s2){
int j=0;
char ch_s1[50];
strcpy(ch_s1, s1.c_str());
char *ssl=strtok(ch_s1, " β);
int i=0;
while(i<k-1){
ss1=strtok(NULL,β β);
i++;
}
char ch_s2[50];
strcpy(ch_s2, s2.c_str());
char *ss2=strtok(ch_s2,β β);
i=0;
while(i<k-1){
ss2=strtok(NULL,β ");
i++;
}
string ss_1=ss1;
string ss_2=ss2;
char hh[19]=βlexicographicalβ;
char pp[10]=βtrueβ;
if(comp[0]==βlβ){
if(rev[0]==βtβ){
if(ss_1>ss_2){
return 1;
}
if(ss_2>ss_1){
return 0;
}
if(ss_1==ss_2)
return 0;
}
else {
if(ss_1>ss_2){
return 0;
}
if(ss_2>ss_1){
return 1;
}
if(ss_1==ss_2)
return 1;
}
}
else {
stringstream geek(ss_1);
int s_1=0;
geek>>s_1;
stringstream beek(ss_2);
int s_2=0;
beek>>s_2;
if(rev[0]=='t'){
if(s_1>s_2)
return 1;
if(s_2>s_1)
return 0;
if(s_1==s_2)
return 1;
}
else {
if(s_1>s_2)
return 0;
if(s_2>s_1)
return 1;
if(s_1==s_2)
return 0;
}
}
return 0; }
int main(){
int n;
cin>>n;
cin.get();
string s[19999];
for(int i=0;i<n;i++){
getline(cin,s[i]);
}
cin>>k>>rev>>comp;
sort(s,s+n,compare);
for(int i=0;i<n;i++){
cout<<s[i]<<endl;
}
}