====== زیر درخت ====== فرض کنید $T_1$ و $T_2$ دو درخت ریشه‌دار باشند که در هرکدام به هر راس یک عدد به نشانه‌ی برچسب آن راس نسبت داده شده باشد و هر راس حداکثر دو فرزند داشته باشد. درخت $T_1$ زیردرخت $T_2$ است اگر نگاشت یک‌به‌یک $f$ از مجموعه‌ راس‌های $T_1$ به مجموعه راس‌های $T_2$ وجود داشته باشد به طوری که: * به ازای هر راس $v$ از $T_1$، برچسب $v$ با برچسب $f(v)$ یکسان باشد. * به ازای هر دو راس $v$ و $w$ از $T_1$، $f(v)$ از اجداد $f(w)$ باشد اگر و تنها اگر $v$ از اجداد $w$ باشد. برنامه‌ای بنویسید که $k$‌درخت $T_2،T_1$،... و $T_k$ با شرایط گفته‌ شده را از ورودی دریافت کند و تعیین کند که کدام یک زیردرخت دیگری است. ===== ورودي ===== خط نخست فایل ورودی شامل عدد $k$ است. درخطوط بعدی، مشخصات درختها به ترتیب به شکل ذیل آمده است. مشخصات هر درخت $n$ راسی در $n+1$ خط توصیف می‌شود: خط اول $n$ و شماره‌ی راس ریشه‌ی درخت، خط دوم $n$ عدد به نشانه‌ی برچسب راس‌ها با حفظ ترتیب و $n-1$ خط بعد نیمه‌ی فوقانی ماتریس مجاورت گراف را در بر دارد. ===== خروجي ===== در فایل خروجی ماتریس $M_{n\times n}$ را در $n$ خط با لحاظ فاصله بین درایه‌های هر سطر آن چاپ کنید. اگر درخت $T_i$ زیردرخت درخت $T_j$ باشد، درایه‌ی $M_ij$ را برابر یک و در غیر این صورت، برابر صفر قرار دهید. فرض کنید مقادیر $n$ و $k$ از ۱۰۰ بیش‌تر نیست. برچسب راس‌ها هم از بین اعداد قابل ذخیره‌سازی در یک متغیر از نوع Integer انتخاب می‌شوند. ===== ورودي و خروجي نمونه ===== ^ ورودي نمونه ^ خروجي نمونه ^ |2 \\ 3 1 \\ 1 3 2 \\ 1 1 \\ 0 \\ 6 1 \\ 1 1 2 2 4 3 \\ 1 1 0 0 0 \\ 0 1 1 0 \\ 0 0 1 \\ 0 0 \\ 0 | 1 1 \\ 0 1| * [[سوال ۱۴|سوال بعد]] * [[سوال ۱۲|سوال قبل]]