بهترین دوستتان شروع به جمعآوری پازل کرده و میخواهد فهرست مفصلی از مجموعهاش بسازد؛ اطلاعاتی مثل تعداد کل تکهها، تعداد سطرها و ستونها، تعداد تکههای لبه و تکههای داخلی، نسبت ابعاد و قالب پازل را ثبت کند. حتی اگر نیروهایتان را هم روی هم بگذارید، حل یک پازل هزارتکه چند ساعت طول میکشد، و بعد از آن هم باید سطرها و ستونها را بشمارید و باقی عددها را دستی حساب کنید. پازلهای بزرگتر با هزاران تکه حالا واقعاً ترسناک به نظر میرسند. با خودتان میگویید: «باید راه بهتری هم باشد!» و پشت رایانهتان مینشینید تا این مسئله را حل کنید.
با توجه به اطلاعات ناقص درباره یک پازل، قطعات گمشده را اضافه کنید.
اگر اطلاعات برای تکمیل جزئیات کافی نباشد، یا اگر بخشهای داده شده با هم در تناقض باشند، باید به کاربر اطلاع داده شود.
اطلاعات کامل درباره پازل شامل بخشهای زیر است:
pieces: تعداد کل قطعاتborder: تعداد قطعات حاشیهinside: تعداد قطعات داخلی (غیرحاشیهای)rows: تعداد ردیفهاcolumns: تعداد ستونهاaspectRatio: نسبت ابعاد ستونها به ردیفهاformat: قالب پازل، که میتواند portrait، square، یا landscape باشدبرای این تمرین، میتوانید فرض کنید که قطعات مربعی هستند، بنابراین قالب را میتوان از نسبت ابعاد استخراج کرد:
portrait استsquare استlandscape استیک پازل عمودی با ۶ قطعه، که همهی آنها قطعات حاشیه هستند و هیچکدام قطعهی داخلی نیستند. این پازل ۲ ستون و ۳ ردیف دارد. نسبت ابعاد ۰٫۶۶۶۶۶۶... (۲/۳) است.
یک پازل مربعی با ۹ قطعه، که همهی آنها قطعات حاشیه هستند، به جز قطعهی مرکزی که یک قطعهی داخلی است. این پازل ۳ ستون و ۳ ردیف دارد. نسبت ابعاد ۱٫۰ (۳/۳) است.
یک پازل افقی با ۱۲ قطعه، که ۱۰ تای آنها قطعات حاشیه و ۲ تا قطعهی داخلی هستند. این پازل ۴ ستون و ۳ ردیف دارد. نسبت ابعاد ۱٫۳۳۳۳۳۳... (۴/۳) است.