بانجول یک کار به شرکتش دادهاست! او به شرکت یک تکه کد نوشته شده به زبان پاسکال داده است که مجموعهای از چراغها را کنترل میکند، و او میخواهد شرکت تا جای ممکن اندازه کد را کوچک کند در حالی که منطق کد همان چیزی باشد که از قبل بوده.
کد از چندین گزاره شرطی تشکیل شده است. هر گزاره شرطی یک خط است به شکل :
میباشد به طوری که:
تنها تغییری که بانجول اجازه میدهد به کد داده شود حذف کردن یک خط کامل از کد است (یک گزاره شرطی). او میخواهد حداکثر تعداد خط را حذف کند که منطق برنامه دقیقا مثل قبل باشد. شما به او کمک کنید تا بیشترین تعداد خط که میشود حذف کرد و منطق برنامه تغییری نکند را به او بگویید. فرض کنید اول کار همه چراغها خاموش هستند.
نکته: منطق برنامه تغییری نکند یعنی بهازای همه حالتهای متغییرهای استفاده شده، خروجی (چراغهای روشن پس از اجرای برنامه) برنامه تغییرکرده با برنامه اولیه تفاوتی نداشته باشد.
به ازای هر تست، بیشترین تعداد خط که میشود حذف کرد و منطق برنامه تغییری نکند را چاپ کنید.
ورودی نمونه | خروجی نمونه |
---|---|
7 if aa < 4 then turnOn( 3 ); if aa > 7 then turnOn( 3 ); if aa = 7 then turnOn( 3 ); if aa = -1 then turnOn( 3 ); if aa < 7 then turnOn( 3 ); if b = 6 then turnOn( 4 ); if b = 6 then turnOn( 3 ); 4 if pq = 6 then turnOn( 7 ); if pq = 6 then turnOn( 7 ); if pq = 6 then turnOn( 1 ); if pq = 2 then turnOn( 1 ); 4 if pq = 6 then turnOn( 8 ); if pq = 6 then turnOn( 8 ); if pq = 6 then turnOn( 9 ); if pq < 8 then turnOn( 9 ); 0 | 3 1 2 |
پاسخ
منتظر پر کردن این قسمت توسط علاقمندان هستیم.