#include #define MINDIST 0 int main(int argc, char **argv) { int num; int line = 1; char ch1, ch2; int startch, endch; int center, candcenter; int oldscore = -999; int oldcenter = -999; int score; char string[1024]; char string0[1024]; char string1[1024]; char string2[1024]; char candidate[1024]; while(line != EOF) { line = scanf("%d %s %s %s %d %d %d %c %c %s\n", \ ¢er, string, string0, string1, &startch, &endch, &score, &ch1, &ch2, string2); if(center < oldcenter) { fprintf(stderr,"Warning: input not sorted properly, please sort with sort -n\n"); } if(score < 0) { sprintf(candidate, "%s\t%s\t%s\t%d\t%d\t%d\t%c\t%c\t%s\n", \ string, string0, string1, startch, endch, score, ch1, ch2, string2); } if(score >= oldscore) { sprintf(candidate, "%s\t%s\t%s\t%d\t%d\t%d\t%c\t%c\t%s\n", \ string, string0, string1, startch, endch, score, ch1, ch2, string2); candcenter = center; } else { if((candcenter - oldcenter) > MINDIST) { printf("%s", candidate); oldcenter = candcenter; } num++; } oldscore = score; } }