Language: C

#include <string.h>

#define BIAS 1.2

typedef struct {
	char result[16];
	int strength;
	int move_number;
} move;

int func_strength(int N, char array[]) {
	int i;
	int ans = 0;

	for(i = 0; i < N; i++)
		if(array[i] == 'o')
			ans++;

	return ans;
}

void sort_strength_order(int N, move array[]) {
	int i;
	int sorted = N - 1;
	move temp;

	while(sorted) {
		int index_last_sort = 0;
		for(i = 0; i < sorted; i++) {
			if(array[i].strength < array[i + 1].strength) {
				strcpy(temp.result, array[i].result);
				temp.strength = array[i].strength;
				temp.move_number = array[i].move_number;

				strcpy(array[i].result, array[i + 1].result);
				array[i].strength = array[i + 1].strength;
				array[i].move_number = array[i + 1].move_number;

				strcpy(array[i + 1].result, temp.result);
				array[i + 1].strength = temp.strength;
				array[i + 1].move_number = temp.move_number;

				index_last_sort = i;
			}
		}

		sorted = index_last_sort;
	}
}

int main() {
	int N;
	char judge_chart[16][16];
	move input[16];
	int rival[100][10];
	int count_rival_move[16] = {0};
	int my_move = 0;

	int i, j;
	int k;

	scanf("%d", &N);
	
	for(i = 0; i < N; i++) {
		scanf("%s", judge_chart[i]);
		strcpy(input[i].result, judge_chart[i]);
		input[i].strength = func_strength(N, input[i].result);
		input[i].move_number = i + 1;
	}

	sort_strength_order(N, input);

	for(i = 0; i < 100; i++) {
		for(j = 0; j < 10; j++) {
			printf("%d\n", input[my_move].move_number);
			fflush(stdout);

			scanf("%d", &rival[i][j]);
			count_rival_move[rival[i][j] - 1]++;
		}
		
		for(k = 0, my_move = 0; k < N; k++) {
			if(count_rival_move[k] > (double)(1 / N) * (i + 1) * BIAS) {
				if(input[my_move].result[k] == 'x') {
					my_move++;
					break;
				}

				else if(input[my_move].result[k] == '-' && (count_rival_move[k] > (i + 1) * 0.9)) {
					my_move++;
					break;
				}
			}

			else
				continue;
		}
	}

	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:62:9: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
   62 |         scanf("%d", &N);
      |         ^~~~~
main.c:2:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
    1 | #include <string.h>
  +++ |+#include <stdio.h>
    2 | 
main.c:62:9: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
   62 |         scanf("%d", &N);
      |         ^~~~~
main.c:62:9: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:75:25: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
   75 |                         printf("%d\n", input[my_move].move_number);
      |                         ^~~~~~
main.c:75:25: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:75:25: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:75:25: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:76:25: error: implicit declaration of function 'fflush' [-Wimplicit-function-declaration]
   76 |                         fflush(stdout);
      |                         ^~~~~~
main.c:76:32: error: 'stdout' undeclared (first use in this function)
   76 |                         fflush(stdout);
      |                                ^~~~~~
main.c:76:32: note: 'stdout' is defined in header '<stdio.h>'; this is probably fixable by adding '#include <stdio.h>'
main.c:76:32: note: each undeclared identifier is reported only once for each function it appears in