add: TP02Q17 solved
This commit is contained in:
parent
3b30b7870c
commit
7322edeb5e
|
|
@ -0,0 +1 @@
|
||||||
|
753045 1ms 26261
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,449 @@
|
||||||
|
/**
|
||||||
|
* @path TP02Q17 - Heapsort PARCIAL em C/Player.c
|
||||||
|
* @description C file that implements the Player class with partial heapsort
|
||||||
|
* @author Pedro Lopes - github.com/httpspedroh
|
||||||
|
* @version 1.0
|
||||||
|
* @update 2023-09-27
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Includes
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Constants
|
||||||
|
#define MAX_PLAYERS 4000
|
||||||
|
#define FILE_PATH "/tmp/players.csv"
|
||||||
|
|
||||||
|
#define MAX_NAME_SIZE 40
|
||||||
|
#define MAX_COLLEGE_SIZE 60
|
||||||
|
#define MAX_BIRTH_CITY_SIZE 40
|
||||||
|
#define MAX_BIRTH_STATE_SIZE 40
|
||||||
|
|
||||||
|
#define MAX_LINE_SIZE 300
|
||||||
|
#define MAX_ATTRIBUTE_SIZE 100
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Structs
|
||||||
|
typedef struct Player {
|
||||||
|
int id;
|
||||||
|
char *name;
|
||||||
|
int height;
|
||||||
|
int weight;
|
||||||
|
int birthYear;
|
||||||
|
char *birthCity;
|
||||||
|
char *birthState;
|
||||||
|
char *college;
|
||||||
|
} Player;
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Global variables
|
||||||
|
Player allPlayers[MAX_PLAYERS];
|
||||||
|
int n = 0;
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Functions
|
||||||
|
bool isEnd(char* line) { return line[0] == 'F' && line[1] == 'I' && line[2] == 'M'; }
|
||||||
|
|
||||||
|
void substring(char *string, char *stringStart, int length) {
|
||||||
|
|
||||||
|
strncpy(string, stringStart, length);
|
||||||
|
string[length] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
void proccess_attribute(char *attribute, char **substringStart, char **substringEnd, bool isFirstAttribute) {
|
||||||
|
|
||||||
|
// Skip first comma
|
||||||
|
if(!isFirstAttribute) {
|
||||||
|
|
||||||
|
if(*substringEnd != NULL) *substringStart = *substringEnd + 1;
|
||||||
|
else *substringStart = *substringEnd;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get next comma
|
||||||
|
*substringEnd = strchr(*substringStart, ',');
|
||||||
|
|
||||||
|
// Get substring
|
||||||
|
if(*substringEnd) substring(attribute, *substringStart, *substringEnd - *substringStart);
|
||||||
|
else strcpy(attribute, *substringStart);
|
||||||
|
|
||||||
|
// Set default value if attribute is empty
|
||||||
|
if(strcmp(attribute, "") == 0 || attribute[0] == '\n' || attribute[0] == '\r' || attribute[0] == '\0') strcpy(attribute, "nao informado");
|
||||||
|
|
||||||
|
// Clean \n from the end of the string
|
||||||
|
if(attribute[strlen(attribute) - 1] == '\n') attribute[strlen(attribute) - 1] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Methods signatures
|
||||||
|
|
||||||
|
// Class
|
||||||
|
Player player_newBlank();
|
||||||
|
Player player_new(int id, char *name, int height, int weight, int birthYear, char *birthCity, char *birthState, char *college);
|
||||||
|
Player *player_clone(Player *player);
|
||||||
|
void player_print(Player *player);
|
||||||
|
Player player_read(char *line);
|
||||||
|
Player *player_searchById(int id);
|
||||||
|
|
||||||
|
// Gets
|
||||||
|
int player_getId(Player *player);
|
||||||
|
char *player_getName(Player *player);
|
||||||
|
int player_getHeight(Player *player);
|
||||||
|
int player_getWeight(Player *player);
|
||||||
|
char *player_getCollege(Player *player);
|
||||||
|
int player_getBirthYear(Player *player);
|
||||||
|
char *player_getBirthCity(Player *player);
|
||||||
|
char *player_getBirthState(Player *player);
|
||||||
|
|
||||||
|
// Sets
|
||||||
|
void player_setId(Player *player, int id);
|
||||||
|
void player_setName(Player *player, char *name);
|
||||||
|
void player_setHeight(Player *player, int height);
|
||||||
|
void player_setWeight(Player *player, int weight);
|
||||||
|
void player_setCollege(Player *player, char *college);
|
||||||
|
void player_setBirthYear(Player *player, int birthYear);
|
||||||
|
void player_setBirthCity(Player *player, char *birthCity);
|
||||||
|
void player_setBirthState(Player *player, char *birthState);
|
||||||
|
|
||||||
|
// General
|
||||||
|
void startPlayers();
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Methods implementations
|
||||||
|
|
||||||
|
// Class
|
||||||
|
Player player_newBlank() {
|
||||||
|
|
||||||
|
Player player;
|
||||||
|
|
||||||
|
player.id = -1;
|
||||||
|
player.height = -1;
|
||||||
|
player.weight = -1;
|
||||||
|
player.birthYear = -1;
|
||||||
|
|
||||||
|
player.name = (char *) calloc(MAX_NAME_SIZE, sizeof(char));
|
||||||
|
strcpy(player.name, "");
|
||||||
|
|
||||||
|
player.birthCity = (char *) calloc(MAX_BIRTH_CITY_SIZE, sizeof(char));
|
||||||
|
strcpy(player.birthCity, "");
|
||||||
|
|
||||||
|
player.birthState = (char *) calloc(MAX_BIRTH_STATE_SIZE, sizeof(char));
|
||||||
|
strcpy(player.birthState, "");
|
||||||
|
|
||||||
|
player.college = (char *) calloc(MAX_COLLEGE_SIZE, sizeof(char));
|
||||||
|
strcpy(player.college, "");
|
||||||
|
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player_new(int id, char *name, int height, int weight, int birthYear, char *birthCity, char *birthState, char *college) {
|
||||||
|
|
||||||
|
Player player;
|
||||||
|
|
||||||
|
player.id = id;
|
||||||
|
player.height = height;
|
||||||
|
player.weight = weight;
|
||||||
|
player.birthYear = birthYear;
|
||||||
|
|
||||||
|
player.name = (char *) calloc(MAX_NAME_SIZE, sizeof(char));
|
||||||
|
strcpy(player.name, name);
|
||||||
|
|
||||||
|
player.birthCity = (char *) calloc(MAX_BIRTH_CITY_SIZE, sizeof(char));
|
||||||
|
strcpy(player.birthCity, birthCity);
|
||||||
|
|
||||||
|
player.birthState = (char *) calloc(MAX_BIRTH_STATE_SIZE, sizeof(char));
|
||||||
|
strcpy(player.birthState, birthState);
|
||||||
|
|
||||||
|
player.college = (char *) calloc(MAX_COLLEGE_SIZE, sizeof(char));
|
||||||
|
strcpy(player.college, college);
|
||||||
|
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player *player_clone(Player *player) {
|
||||||
|
|
||||||
|
Player *clone = (Player *) malloc(sizeof(Player));
|
||||||
|
|
||||||
|
clone -> id = player -> id;
|
||||||
|
clone -> height = player -> height;
|
||||||
|
clone -> weight = player -> weight;
|
||||||
|
|
||||||
|
clone -> name = (char *) calloc(MAX_NAME_SIZE, sizeof(char));
|
||||||
|
strcpy(clone -> name, player -> name);
|
||||||
|
|
||||||
|
clone -> birthCity = (char *) calloc(MAX_BIRTH_CITY_SIZE, sizeof(char));
|
||||||
|
strcpy(clone -> birthCity, player -> birthCity);
|
||||||
|
|
||||||
|
clone -> birthState = (char *) calloc(MAX_BIRTH_STATE_SIZE, sizeof(char));
|
||||||
|
strcpy(clone -> birthState, player -> birthState);
|
||||||
|
|
||||||
|
clone -> college = (char *) calloc(MAX_COLLEGE_SIZE, sizeof(char));
|
||||||
|
strcpy(clone -> college, player -> college);
|
||||||
|
|
||||||
|
return clone;
|
||||||
|
}
|
||||||
|
|
||||||
|
void player_print(Player *player) {
|
||||||
|
|
||||||
|
printf("[%d ## %s ## %d ## %d ## %d ## %s ## %s ## %s]\n",
|
||||||
|
player -> id,
|
||||||
|
player -> name,
|
||||||
|
player -> height,
|
||||||
|
player -> weight,
|
||||||
|
player -> birthYear,
|
||||||
|
player -> college,
|
||||||
|
player -> birthCity,
|
||||||
|
player -> birthState
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player_read(char *line) {
|
||||||
|
|
||||||
|
Player player = player_newBlank();
|
||||||
|
|
||||||
|
char *substringStart = line;
|
||||||
|
char *substringEnd = NULL;
|
||||||
|
char attribute[MAX_ATTRIBUTE_SIZE];
|
||||||
|
|
||||||
|
// Get id
|
||||||
|
proccess_attribute(attribute, &substringStart, &substringEnd, true);
|
||||||
|
player_setId(&player, atoi(attribute));
|
||||||
|
|
||||||
|
// Get name
|
||||||
|
proccess_attribute(attribute, &substringStart, &substringEnd, false);
|
||||||
|
player_setName(&player, attribute);
|
||||||
|
|
||||||
|
// Get height
|
||||||
|
proccess_attribute(attribute, &substringStart, &substringEnd, false);
|
||||||
|
player_setHeight(&player, atoi(attribute));
|
||||||
|
|
||||||
|
// Get weight
|
||||||
|
proccess_attribute(attribute, &substringStart, &substringEnd, false);
|
||||||
|
player_setWeight(&player, atoi(attribute));
|
||||||
|
|
||||||
|
// Get college
|
||||||
|
proccess_attribute(attribute, &substringStart, &substringEnd, false);
|
||||||
|
player_setCollege(&player, attribute);
|
||||||
|
|
||||||
|
// Get birth year
|
||||||
|
proccess_attribute(attribute, &substringStart, &substringEnd, false);
|
||||||
|
player_setBirthYear(&player, atoi(attribute));
|
||||||
|
|
||||||
|
// Get birth city
|
||||||
|
proccess_attribute(attribute, &substringStart, &substringEnd, false);
|
||||||
|
player_setBirthCity(&player, attribute);
|
||||||
|
|
||||||
|
// Get birth state
|
||||||
|
proccess_attribute(attribute, &substringStart, &substringEnd, false);
|
||||||
|
player_setBirthState(&player, attribute);
|
||||||
|
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player *player_searchById(int id) {
|
||||||
|
|
||||||
|
for(int i = 0; i < n; i++) {
|
||||||
|
|
||||||
|
if(player_getId(&allPlayers[i]) == id) return &allPlayers[i];
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Gets
|
||||||
|
int player_getId(Player *player) { return player -> id; }
|
||||||
|
char *player_getName(Player *player) { return player -> name; }
|
||||||
|
int player_getHeight(Player *player) { return player -> height; }
|
||||||
|
int player_getWeight(Player *player) { return player -> weight; }
|
||||||
|
char *player_getCollege(Player *player) { return player -> college; }
|
||||||
|
int player_getBirthYear(Player *player) { return player -> birthYear; }
|
||||||
|
char *player_getBirthCity(Player *player) { return player -> birthCity; }
|
||||||
|
char *player_getBirthState(Player *player) { return player -> birthState; }
|
||||||
|
|
||||||
|
// Sets
|
||||||
|
void player_setId(Player *player, int id) { player -> id = id; }
|
||||||
|
void player_setName(Player *player, char *name) { strcpy(player -> name, name); }
|
||||||
|
void player_setHeight(Player *player, int height) { player -> height = height; }
|
||||||
|
void player_setWeight(Player *player, int weight) { player -> weight = weight; }
|
||||||
|
void player_setBirthYear(Player *player, int birthYear) { player -> birthYear = birthYear; }
|
||||||
|
void player_setBirthCity(Player *player, char *birthCity) { strcpy(player -> birthCity, birthCity); }
|
||||||
|
void player_setBirthState(Player *player, char *birthState) { strcpy(player -> birthState, birthState); }
|
||||||
|
void player_setCollege(Player *player, char *college) { strcpy(player -> college, college); }
|
||||||
|
|
||||||
|
// General
|
||||||
|
void startPlayers() {
|
||||||
|
|
||||||
|
// Open file
|
||||||
|
FILE *fp;
|
||||||
|
char *line = NULL;
|
||||||
|
size_t len = 0;
|
||||||
|
ssize_t read;
|
||||||
|
|
||||||
|
fp = fopen(FILE_PATH, "r");
|
||||||
|
|
||||||
|
if(fp == NULL) {
|
||||||
|
|
||||||
|
perror("x Error opening file");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Skip first line
|
||||||
|
getline(&line, &len, fp);
|
||||||
|
|
||||||
|
// Read all lines
|
||||||
|
while((read = getline(&line, &len, fp)) != -1) {
|
||||||
|
|
||||||
|
// Read player from line
|
||||||
|
Player player = player_read(line);
|
||||||
|
|
||||||
|
allPlayers[n++] = player;
|
||||||
|
|
||||||
|
if(n >= MAX_PLAYERS) {
|
||||||
|
|
||||||
|
perror("x Max players reached");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close file and free memory
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
|
if(line) free(line);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Heapify function
|
||||||
|
void heapify(Player *players, int n, int i, int *comparisons) {
|
||||||
|
|
||||||
|
int largest = i;
|
||||||
|
int l = 2 * i + 1;
|
||||||
|
int r = 2 * i + 2;
|
||||||
|
|
||||||
|
if(l < n) {
|
||||||
|
|
||||||
|
// Compare height of players
|
||||||
|
int comparison = player_getHeight(&players[l]) - player_getHeight(&players[largest]);
|
||||||
|
|
||||||
|
// In draw case, compare names
|
||||||
|
if(comparison == 0) comparison = strcmp(player_getName(&players[l]), player_getName(&players[largest]));
|
||||||
|
if(comparison > 0) largest = l;
|
||||||
|
|
||||||
|
(*comparisons) += 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(r < n) {
|
||||||
|
|
||||||
|
// Compare height of players
|
||||||
|
int comparison = player_getHeight(&players[r]) - player_getHeight(&players[largest]);
|
||||||
|
|
||||||
|
// In draw case, compare names
|
||||||
|
if(comparison == 0) comparison = strcmp(player_getName(&players[r]), player_getName(&players[largest]));
|
||||||
|
if(comparison > 0) largest = r;
|
||||||
|
|
||||||
|
(*comparisons) += 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(largest != i) {
|
||||||
|
|
||||||
|
Player aux = players[i];
|
||||||
|
players[i] = players[largest];
|
||||||
|
players[largest] = aux;
|
||||||
|
heapify(players, n, largest, comparisons);
|
||||||
|
}
|
||||||
|
|
||||||
|
(*comparisons) += 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// Main
|
||||||
|
int main() {
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// #1 - Start - Read all players in CSV file
|
||||||
|
startPlayers();
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// #2 - Read input and print players from pub.in id entries and add to mainPlayers array
|
||||||
|
|
||||||
|
// Initialize mainPlayers array
|
||||||
|
Player mainPlayers[MAX_PLAYERS];
|
||||||
|
int m = 0;
|
||||||
|
|
||||||
|
char in[5];
|
||||||
|
scanf(" %[^\n]s", in);
|
||||||
|
|
||||||
|
while(true) {
|
||||||
|
|
||||||
|
if(isEnd(in)) break;
|
||||||
|
else {
|
||||||
|
|
||||||
|
int id = atoi(in);
|
||||||
|
|
||||||
|
Player *player = player_searchById(id);
|
||||||
|
|
||||||
|
if(player) mainPlayers[m++] = *player;
|
||||||
|
|
||||||
|
// ------------------------- //
|
||||||
|
|
||||||
|
scanf(" %[^\n]s", in);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------- //
|
||||||
|
|
||||||
|
// #3 - Order mainPlayers array by key "height" using insertion sort, in draw case, order by key "name"
|
||||||
|
|
||||||
|
// Start benchmark
|
||||||
|
clock_t startTime = clock();
|
||||||
|
int comparisons = 0;
|
||||||
|
|
||||||
|
// ----------------- //
|
||||||
|
|
||||||
|
// Heapsort with k = 10
|
||||||
|
int k = 10;
|
||||||
|
|
||||||
|
for(int i = m / 2 - 1; i >= 0; i--) {
|
||||||
|
|
||||||
|
comparisons++;
|
||||||
|
heapify(mainPlayers, m, i, &comparisons);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = m - 1; i >= 0; i--) {
|
||||||
|
|
||||||
|
comparisons++;
|
||||||
|
|
||||||
|
Player aux = mainPlayers[0];
|
||||||
|
mainPlayers[0] = mainPlayers[i];
|
||||||
|
mainPlayers[i] = aux;
|
||||||
|
|
||||||
|
heapify(mainPlayers, i, 0, &comparisons);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------- //
|
||||||
|
|
||||||
|
// Save benchmark in file
|
||||||
|
FILE *fp = fopen("753045_heapsortParcial.txt", "w");
|
||||||
|
fprintf(fp, "753045\t%.0fms\t%d", (double)(clock() - startTime) / CLOCKS_PER_SEC * 1000.0, comparisons);
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
|
// ----------------- //
|
||||||
|
|
||||||
|
// Print mainPlayers array
|
||||||
|
for(int i = 0; i < k; i++) player_print(&mainPlayers[i]);
|
||||||
|
|
||||||
|
// ----------------- //
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
[1242 ## Charlie Criss ## 173 ## 74 ## 1948 ## New Mexico State University ## Valhalla ## New York]
|
||||||
|
[220 ## D.C. Wilcutt ## 175 ## 70 ## 1926 ## nao informado ## nao informado ## nao informado]
|
||||||
|
[298 ## Al Masino ## 178 ## 78 ## 1928 ## Canisius College ## nao informado ## nao informado]
|
||||||
|
[2540 ## Chris Garner ## 178 ## 70 ## 1975 ## University of Memphis ## Memphis ## Tennessee]
|
||||||
|
[539 ## Jimmy Darrow ## 178 ## 77 ## 1937 ## Bowling Green State University ## Akron ## Ohio]
|
||||||
|
[280 ## Zeke Sinicola ## 178 ## 74 ## 1929 ## Niagara University ## nao informado ## nao informado]
|
||||||
|
[55 ## Bill Gabor ## 180 ## 77 ## 1922 ## Syracuse University ## nao informado ## nao informado]
|
||||||
|
[1841 ## Billy Donovan ## 180 ## 77 ## 1965 ## Providence College ## Rockville Centre ## New York]
|
||||||
|
[90 ## Buddy Jeannette* ## 180 ## 79 ## 1917 ## Washington & Jefferson College ## New Kensington ## Pennsylvania]
|
||||||
|
[60 ## Dee Gibson ## 180 ## 79 ## 1923 ## Western Kentucky University ## nao informado ## nao informado]
|
||||||
|
|
@ -0,0 +1,465 @@
|
||||||
|
10
|
||||||
|
1022
|
||||||
|
1026
|
||||||
|
104
|
||||||
|
1046
|
||||||
|
1086
|
||||||
|
1103
|
||||||
|
1118
|
||||||
|
1122
|
||||||
|
1144
|
||||||
|
1145
|
||||||
|
1146
|
||||||
|
1150
|
||||||
|
1152
|
||||||
|
1160
|
||||||
|
1165
|
||||||
|
1169
|
||||||
|
1171
|
||||||
|
1173
|
||||||
|
1183
|
||||||
|
1188
|
||||||
|
1201
|
||||||
|
1208
|
||||||
|
1212
|
||||||
|
122
|
||||||
|
1220
|
||||||
|
1227
|
||||||
|
1231
|
||||||
|
1232
|
||||||
|
1235
|
||||||
|
1242
|
||||||
|
1248
|
||||||
|
1249
|
||||||
|
1252
|
||||||
|
1253
|
||||||
|
1259
|
||||||
|
1280
|
||||||
|
1292
|
||||||
|
1303
|
||||||
|
1320
|
||||||
|
1334
|
||||||
|
1336
|
||||||
|
1350
|
||||||
|
1358
|
||||||
|
1367
|
||||||
|
1389
|
||||||
|
1401
|
||||||
|
141
|
||||||
|
1415
|
||||||
|
1417
|
||||||
|
1435
|
||||||
|
144
|
||||||
|
1442
|
||||||
|
145
|
||||||
|
146
|
||||||
|
1461
|
||||||
|
1464
|
||||||
|
1465
|
||||||
|
1466
|
||||||
|
1472
|
||||||
|
1473
|
||||||
|
15
|
||||||
|
150
|
||||||
|
1501
|
||||||
|
1508
|
||||||
|
1525
|
||||||
|
154
|
||||||
|
1541
|
||||||
|
1545
|
||||||
|
1549
|
||||||
|
1555
|
||||||
|
1558
|
||||||
|
1559
|
||||||
|
1568
|
||||||
|
1585
|
||||||
|
1587
|
||||||
|
1597
|
||||||
|
1613
|
||||||
|
1618
|
||||||
|
1630
|
||||||
|
1631
|
||||||
|
1650
|
||||||
|
1656
|
||||||
|
1672
|
||||||
|
1675
|
||||||
|
1680
|
||||||
|
1686
|
||||||
|
1693
|
||||||
|
1702
|
||||||
|
1704
|
||||||
|
1718
|
||||||
|
1730
|
||||||
|
1733
|
||||||
|
1739
|
||||||
|
1740
|
||||||
|
1743
|
||||||
|
1744
|
||||||
|
1752
|
||||||
|
1768
|
||||||
|
1772
|
||||||
|
1785
|
||||||
|
1798
|
||||||
|
1805
|
||||||
|
1807
|
||||||
|
1810
|
||||||
|
1829
|
||||||
|
183
|
||||||
|
1833
|
||||||
|
1835
|
||||||
|
1839
|
||||||
|
1841
|
||||||
|
1842
|
||||||
|
1853
|
||||||
|
1870
|
||||||
|
1884
|
||||||
|
1887
|
||||||
|
1914
|
||||||
|
1923
|
||||||
|
1939
|
||||||
|
1940
|
||||||
|
1950
|
||||||
|
1951
|
||||||
|
1958
|
||||||
|
1959
|
||||||
|
1973
|
||||||
|
1975
|
||||||
|
1985
|
||||||
|
1987
|
||||||
|
1988
|
||||||
|
1992
|
||||||
|
1995
|
||||||
|
2011
|
||||||
|
2019
|
||||||
|
2020
|
||||||
|
2023
|
||||||
|
2024
|
||||||
|
2025
|
||||||
|
204
|
||||||
|
2040
|
||||||
|
2046
|
||||||
|
2047
|
||||||
|
2052
|
||||||
|
2056
|
||||||
|
2067
|
||||||
|
2069
|
||||||
|
2075
|
||||||
|
208
|
||||||
|
2087
|
||||||
|
2088
|
||||||
|
2092
|
||||||
|
2107
|
||||||
|
211
|
||||||
|
2117
|
||||||
|
2124
|
||||||
|
2126
|
||||||
|
2127
|
||||||
|
213
|
||||||
|
2130
|
||||||
|
2132
|
||||||
|
2137
|
||||||
|
2182
|
||||||
|
2198
|
||||||
|
220
|
||||||
|
2203
|
||||||
|
2204
|
||||||
|
2210
|
||||||
|
2215
|
||||||
|
2216
|
||||||
|
2227
|
||||||
|
2246
|
||||||
|
2261
|
||||||
|
2275
|
||||||
|
2297
|
||||||
|
2312
|
||||||
|
2317
|
||||||
|
2323
|
||||||
|
2326
|
||||||
|
2327
|
||||||
|
233
|
||||||
|
2360
|
||||||
|
2361
|
||||||
|
2383
|
||||||
|
2398
|
||||||
|
2402
|
||||||
|
2405
|
||||||
|
2406
|
||||||
|
2408
|
||||||
|
2429
|
||||||
|
2433
|
||||||
|
2448
|
||||||
|
246
|
||||||
|
2462
|
||||||
|
2470
|
||||||
|
2472
|
||||||
|
2478
|
||||||
|
2482
|
||||||
|
251
|
||||||
|
2514
|
||||||
|
2522
|
||||||
|
2532
|
||||||
|
2534
|
||||||
|
2535
|
||||||
|
2540
|
||||||
|
2546
|
||||||
|
255
|
||||||
|
2559
|
||||||
|
2564
|
||||||
|
2569
|
||||||
|
2576
|
||||||
|
2582
|
||||||
|
2586
|
||||||
|
2589
|
||||||
|
2596
|
||||||
|
2600
|
||||||
|
2603
|
||||||
|
2617
|
||||||
|
2619
|
||||||
|
2621
|
||||||
|
2623
|
||||||
|
2628
|
||||||
|
2631
|
||||||
|
2636
|
||||||
|
264
|
||||||
|
2643
|
||||||
|
2653
|
||||||
|
2654
|
||||||
|
2655
|
||||||
|
2663
|
||||||
|
267
|
||||||
|
2675
|
||||||
|
2682
|
||||||
|
2683
|
||||||
|
2690
|
||||||
|
2698
|
||||||
|
2701
|
||||||
|
2712
|
||||||
|
2738
|
||||||
|
2751
|
||||||
|
2752
|
||||||
|
2789
|
||||||
|
2792
|
||||||
|
280
|
||||||
|
2809
|
||||||
|
2813
|
||||||
|
282
|
||||||
|
2827
|
||||||
|
2843
|
||||||
|
2863
|
||||||
|
2864
|
||||||
|
2865
|
||||||
|
2866
|
||||||
|
287
|
||||||
|
2870
|
||||||
|
2880
|
||||||
|
2888
|
||||||
|
289
|
||||||
|
2904
|
||||||
|
291
|
||||||
|
2914
|
||||||
|
2916
|
||||||
|
2921
|
||||||
|
2930
|
||||||
|
2933
|
||||||
|
295
|
||||||
|
2960
|
||||||
|
2963
|
||||||
|
298
|
||||||
|
299
|
||||||
|
2997
|
||||||
|
3
|
||||||
|
3000
|
||||||
|
3010
|
||||||
|
3029
|
||||||
|
3045
|
||||||
|
3060
|
||||||
|
3067
|
||||||
|
3078
|
||||||
|
3079
|
||||||
|
3084
|
||||||
|
309
|
||||||
|
3096
|
||||||
|
3109
|
||||||
|
3127
|
||||||
|
3128
|
||||||
|
313
|
||||||
|
3138
|
||||||
|
3139
|
||||||
|
3149
|
||||||
|
3157
|
||||||
|
3189
|
||||||
|
3208
|
||||||
|
3227
|
||||||
|
3229
|
||||||
|
3241
|
||||||
|
3261
|
||||||
|
3277
|
||||||
|
3284
|
||||||
|
3289
|
||||||
|
3299
|
||||||
|
33
|
||||||
|
3308
|
||||||
|
3313
|
||||||
|
3315
|
||||||
|
3325
|
||||||
|
3330
|
||||||
|
3331
|
||||||
|
3346
|
||||||
|
3355
|
||||||
|
3358
|
||||||
|
3368
|
||||||
|
3370
|
||||||
|
3374
|
||||||
|
3376
|
||||||
|
3387
|
||||||
|
3394
|
||||||
|
3397
|
||||||
|
34
|
||||||
|
3403
|
||||||
|
3420
|
||||||
|
3427
|
||||||
|
3439
|
||||||
|
345
|
||||||
|
3474
|
||||||
|
3475
|
||||||
|
3477
|
||||||
|
3494
|
||||||
|
3501
|
||||||
|
3516
|
||||||
|
3520
|
||||||
|
3525
|
||||||
|
3548
|
||||||
|
3559
|
||||||
|
3582
|
||||||
|
3586
|
||||||
|
3588
|
||||||
|
3595
|
||||||
|
3620
|
||||||
|
3628
|
||||||
|
3629
|
||||||
|
3638
|
||||||
|
3639
|
||||||
|
3643
|
||||||
|
3644
|
||||||
|
3659
|
||||||
|
3664
|
||||||
|
3667
|
||||||
|
3671
|
||||||
|
3682
|
||||||
|
3698
|
||||||
|
370
|
||||||
|
3719
|
||||||
|
3728
|
||||||
|
3729
|
||||||
|
3734
|
||||||
|
3744
|
||||||
|
3745
|
||||||
|
3746
|
||||||
|
3757
|
||||||
|
3778
|
||||||
|
3780
|
||||||
|
3783
|
||||||
|
3787
|
||||||
|
3789
|
||||||
|
3795
|
||||||
|
3814
|
||||||
|
3821
|
||||||
|
3826
|
||||||
|
3829
|
||||||
|
3834
|
||||||
|
3838
|
||||||
|
3844
|
||||||
|
3850
|
||||||
|
3851
|
||||||
|
3862
|
||||||
|
3877
|
||||||
|
3896
|
||||||
|
39
|
||||||
|
395
|
||||||
|
403
|
||||||
|
419
|
||||||
|
430
|
||||||
|
439
|
||||||
|
444
|
||||||
|
46
|
||||||
|
462
|
||||||
|
467
|
||||||
|
471
|
||||||
|
479
|
||||||
|
483
|
||||||
|
496
|
||||||
|
511
|
||||||
|
539
|
||||||
|
54
|
||||||
|
545
|
||||||
|
55
|
||||||
|
558
|
||||||
|
563
|
||||||
|
566
|
||||||
|
575
|
||||||
|
587
|
||||||
|
588
|
||||||
|
590
|
||||||
|
593
|
||||||
|
599
|
||||||
|
60
|
||||||
|
602
|
||||||
|
605
|
||||||
|
610
|
||||||
|
618
|
||||||
|
630
|
||||||
|
634
|
||||||
|
640
|
||||||
|
65
|
||||||
|
651
|
||||||
|
665
|
||||||
|
672
|
||||||
|
68
|
||||||
|
683
|
||||||
|
686
|
||||||
|
7
|
||||||
|
713
|
||||||
|
717
|
||||||
|
726
|
||||||
|
738
|
||||||
|
749
|
||||||
|
760
|
||||||
|
769
|
||||||
|
772
|
||||||
|
775
|
||||||
|
787
|
||||||
|
788
|
||||||
|
79
|
||||||
|
797
|
||||||
|
805
|
||||||
|
806
|
||||||
|
808
|
||||||
|
826
|
||||||
|
831
|
||||||
|
833
|
||||||
|
845
|
||||||
|
868
|
||||||
|
874
|
||||||
|
88
|
||||||
|
886
|
||||||
|
889
|
||||||
|
89
|
||||||
|
892
|
||||||
|
90
|
||||||
|
902
|
||||||
|
910
|
||||||
|
919
|
||||||
|
921
|
||||||
|
936
|
||||||
|
94
|
||||||
|
947
|
||||||
|
953
|
||||||
|
954
|
||||||
|
966
|
||||||
|
969
|
||||||
|
975
|
||||||
|
980
|
||||||
|
982
|
||||||
|
984
|
||||||
|
FIM
|
||||||
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
[1242 ## Charlie Criss ## 173 ## 74 ## 1948 ## New Mexico State University ## Valhalla ## New York]
|
||||||
|
[220 ## D.C. Wilcutt ## 175 ## 70 ## 1926 ## nao informado ## nao informado ## nao informado]
|
||||||
|
[298 ## Al Masino ## 178 ## 78 ## 1928 ## Canisius College ## nao informado ## nao informado]
|
||||||
|
[2540 ## Chris Garner ## 178 ## 70 ## 1975 ## University of Memphis ## Memphis ## Tennessee]
|
||||||
|
[539 ## Jimmy Darrow ## 178 ## 77 ## 1937 ## Bowling Green State University ## Akron ## Ohio]
|
||||||
|
[280 ## Zeke Sinicola ## 178 ## 74 ## 1929 ## Niagara University ## nao informado ## nao informado]
|
||||||
|
[55 ## Bill Gabor ## 180 ## 77 ## 1922 ## Syracuse University ## nao informado ## nao informado]
|
||||||
|
[1841 ## Billy Donovan ## 180 ## 77 ## 1965 ## Providence College ## Rockville Centre ## New York]
|
||||||
|
[90 ## Buddy Jeannette* ## 180 ## 79 ## 1917 ## Washington & Jefferson College ## New Kensington ## Pennsylvania]
|
||||||
|
[60 ## Dee Gibson ## 180 ## 79 ## 1923 ## Western Kentucky University ## nao informado ## nao informado]
|
||||||
Loading…
Reference in New Issue