/* returns: 0 if valid move * 1 Otherwise */ #include #include #include #include int K; // KxK board int main(int argc, char*argv[]){ K = atoi(argv[1]); int move = atoi(argv[2]); char* board = new char[K*K]; memset(board, 0, K*K*sizeof(char)); FILE* f = fopen("b.txt", "rt"); int i = 0; while (!feof(f) && i < K*K){ fscanf(f, "%c", &board[i]); i++; } fclose(f); if((move > K*K-1) || (move < 0) || board[move]!='_') printf("%d\n", 1); else{ printf("%d\n", 0); board[move] = 'X'; FILE* f = fopen("b.txt", "wt"); for(i = 0; i < K*K; i++) fprintf(f, "%c", board[i]); } fclose(f); delete []board; exit(0); }