po co szukasz porady, skoro nie zamierzasz się do niej stosować ?
powiedzieć o twoim kodzie, że jest do d…y to tak jak w czasie ulewnej burzy powiedzieć “deszcz pada”
a co do błędu - błędne jest założenie, że linii w danych testowych jest co najwyżej 1000 - a może jest ich 10 tysięcy, 100 tysięcy, milion, czy nawet miliard ?
więc na banalne zadanie potrzebne będzie kilka GB pamięci ?, a co gdy zadanie będzie bardziej ambitne ?
a przecież wystarczy jedna linia na dane, bo po przetworzeniu (niepotrzebnym) ta linia jest niepotrzebna, oczywiście ta jedna też jest niepotrzebna, bo można przetwarzać znak po znaku (jak ktoś to lubi
lub nie wierzy, że scanf() działa poprawnie)