uint8_t n; // ブロックの数 sometype field; using stone = sometype; stone[32] stones; void submit() { // ワカラン } void get_problem_file() { popen("curl"); // みたいな } void parse_field() { for (int i = 0; i < 32; ++i) { fgets(field[i], 32, stdin); get(); } } void parse_block() { for (int i = 0; i < n; ++i) for (int j = 0; j < 8; ++j) { fgets(stones[i][j], 8, stdin); get(); } } void parse() { parse_field(); scanf("%d¥n", &n); for (int i = 0; i < n; ++i) { parse_block(); get(); // 改行読み捨て } } int main() { get_problem_file(); parse(); solve(); submit(); return 0; }
solveの設計を考えなくてはいけない。深さ優先探索にするつもりだけれど、返り値の型をどうするのか、どうやってどこに置いたかを憶えておくのか、そういうことが固まってない。
-> field 型を受け取って、現在スコアを返す形で再帰すれば、最大スコアは求められる。ただし、fieldを多数生成するので、時間&空間計算量が心配
There was an error while loading. Please reload this page.