EXAM DRILL 1.0
読み取り中…
検索中…
一致する文字列を見つけられません
bsq.h
1#ifndef BSQ_H
2#define BSQ_H
3
4#include <errno.h>
5#include <fcntl.h>
6#include <stdio.h>
7#include <stdlib.h>
8#include <string.h>
9#include <unistd.h>
10
95typedef struct s_map_info {
96 int rows;
97 char empty;
98 char obstacle;
99 char full;
100 int cols;
101} t_map_info;
102
106typedef struct s_map {
108 char **data;
109} t_map;
110
114typedef struct s_square {
115 int x;
116 int y;
117 int size;
118} t_square;
119
120// プロトタイプ宣言 (実装順)
123// main.c
124int main(int argc, char **argv);
125void solve_single_map(FILE *stream);
126
127// map_parser.c
128t_map *load_map(FILE *stream);
129int parse_map_header(char *first_line, t_map_info *info);
130int read_map_data(FILE *stream, t_map *map);
131void free_map(t_map *map);
132
133// bsq_solver.c
135void print_solution(t_map *map, t_square square);
136
137// ft_utils.c
138void ft_putstr_fd(const char *s, int fd);
139void ft_error(const char *msg);
140
143#endif
void ft_putstr_fd(const char *s, int fd)
文字列をファイルディスクリプタに書き込む
Definition ft_utils.c:10
int read_map_data(FILE *stream, t_map *map)
マップデータを読み込む
Definition map_parser.c:114
int parse_map_header(char *first_line, t_map_info *info)
マップの最初の行を解析する
Definition map_parser.c:24
void free_map(t_map *map)
マップのメモリを解放する
Definition map_parser.c:244
int main(int argc, char **argv)
BSQプログラムのエントリポイント
Definition main.c:64
t_map * load_map(FILE *stream)
マップ全体をロードする
Definition map_parser.c:192
void solve_single_map(FILE *stream)
単一のマップを処理する
Definition main.c:26
void ft_error(const char *msg)
エラーメッセージ標準エラー出力に出力し、改行する
Definition ft_utils.c:21
void print_solution(t_map *map, t_square square)
解決策をマップに適用し、結果を出力する
Definition bsq_solver.c:210
t_square find_largest_square(t_map *map)
動的計画法 (DP) を使用して最大の正方形を見つける
Definition bsq_solver.c:72
マップのメタデータを格納する構造体
Definition bsq.h:95
char empty
空き地を表す文字
Definition bsq.h:97
char obstacle
障害物を表す文字
Definition bsq.h:98
char full
正方形を埋める文字
Definition bsq.h:99
int rows
マップの行数
Definition bsq.h:96
int cols
マップの列数 (最初のデータ行を読んでから決定)
Definition bsq.h:100
マップ全体の状態を保持する構造体
Definition bsq.h:106
char ** data
マップデータ(2次元配列)。data[row][col] でアクセス
Definition bsq.h:108
t_map_info info
マップの設定情報
Definition bsq.h:107
見つかった最大の正方形の解を格納する構造体
Definition bsq.h:114
int x
正方形の左上のx座標 (0-indexed)
Definition bsq.h:115
int size
正方形の一辺の長さ
Definition bsq.h:117
int y
正方形の左上のy座標 (0-indexed)
Definition bsq.h:116