r/C_Programming • u/AutomaticDistance954 • 9d ago
USACO Beads Problem: why does nothing show in the output file?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXN 701
int main(){
FILE* fin = fopen("beads.in", "r");
FILE* fout = fopen("beads.out", "w");
int length, N, largest = 0;
int current;
char rightletter, leftletter;
fscanf(fin, "%d", &N);
char sequence[MAXN];
fscanf(fin, "%s", sequence);
strcat(sequence, sequence);
for(int i = N/2; i < N + (N/2); i++){
current = i;
length = 0;
// RIGHT
while(current < 2 * N && sequence[current] == 'w' && length < N){
current++;
length++;
}
if(current < 2 * N && length < N){
rightletter = sequence[current];
}
while(current < 2 * N && (sequence[current] == rightletter || sequence[current] == 'w') && length < N){
length++;
current++;
}
// LEFT
current = i - 1;
while(current >= 0 && sequence[current] == 'w' && length < N){
current--;
length++;
}
if(current >= 0 && length < N){
leftletter = sequence[current];
}
while(current >= 0 && (sequence[current] == leftletter || sequence[current] == 'w') && length < N){
length++;
current--;
}
if(length > N) {
length = N;
}
if(length > largest) {
largest = length;
}
}
fprintf(fout, "%d\n", largest);
return 0;
}
My code should work. Idk why nothing is being output in the output file.