පහත විස්තර කර ඇත්තේ යෝජිත විසඳුම් දෙකකි : බයිට් විශාල ප්රමාණයක් අවශ්ය වන ප්රශ්නයට එක් සම්පූර්ණ විසඳුමක් සහ දෙවන අර්ධ විසඳුම ( එන් + එන් සහ එන් * එන් කොටස් පමණක් විසඳීම , බයිට් 484 ක් පමණක් අවශ්ය වේ), සෑම එකක්ම වෙනස් ප්රවේශයක් සහ තමන්ගේම සිසිල් උපක්රම කට්ටලයක්! :)
1. සම්පූර්ණ විසඳුම (බයිට් 810147050)
භාවිතා කිරීමෙන් TovTovTov(TOV='hi',SEP=',')
, TOV
මූලද්රව්ය අනුපිටපත් අනුපිටපත් වලින් ප්රතිශක්තී වේ (දෙකම "hihihi"
සහ "hhiihhiihhii"
ඒවායේ "hi"
s තුනක් ඇත, සහ සියල්ල TovTovTov
ගැන සැලකිලිමත් වන්නේ TOV
s අතර කොපමණ සංඛ්යාවක් දිස් වේ ද යන්නයි SEP
).
අප භාවිතා කළේ නම් SEP=', '
, සමස්ත වැඩසටහනම අනුපිටපත් වලට ප්රතිශක්තී වේ (එය සිසිල් නමුත් ප්රශ්නය විසඳන්නේ නැත). එබැවින් අපි භාවිතා කරමු SEP=','
.
ඒ නිසා මෙම වැඩසටහන "hihihi,hi"
, උදාහරණයක් ලෙස, ints අරාවට සථායිතාව [3,1]
අතර "hhiihhiihhii,,hhii"
සථායිතාව කිරීමට [3,0,1]
හා "hhiihhiihhii,,hhii"
කිරීමට [3,0,0,1]
. මෙයින් අදහස් කරන්නේ විධාන මඟින් අනුපිටපත් කිරීමෙන් පසුව ඒවායේ අර්ථය වෙනස් නොවන නමුත් සමස්ත දිග අක්ෂර අනුපිටපත් සමඟ වෙනස් වන බවයි. පහත විසඳුමක් වැඩසටහන දිග විමසුම් හා මුද්රණය කිරීම සඳහා ද යන්න තීරණය කිරීම මෙම භාවිතා N+N
, N*N
හෝ N^N
.
Ints array ලෙස යෝජිත සම්පූර්ණ විසඳුම: [6, 12, 9, 18, 9, 142, 11, 38, 8, 9, 260, 11, 73, 8, 22, 75, 7, 10, 14, 3, 1, 22, 24, 18, 15, 8, 10, 16, 3, 1, 22, 24, 18, 15, 8, 10, 45, 16, 7, 22, 3, 1, 22, 24, 18, 15, 8, 22, 3, 1, 22, 24, 18, 15, 8, 25, 3, 1, 22, 24, 18, 15, 8, 48, 3, 1, 22, 24, 18, 15, 8, 277, 3, 1, 22, 24, 18, 15, 8, 3146, 3, 1, 22, 24, 18, 15, 8, 46677, 3, 1, 22, 24, 18, 15, 8, 823564, 3, 1, 22, 24, 18, 15, 8, 16777237, 3, 1, 22, 24, 18, 15, 8, 387420510, 3, 1, 22, 24, 18, 15, 8]
නූලක් ලෙස, එය අක්ෂර 810147050 කින් සමන්විත ඉතා දිගු වැඩසටහනකි.
hihihihihihi,hihihihihihihihihihihihi,hihihihihihihihihi,hihihihihihihihihihihihihihihihihihi,hihihihihihihihihi,hihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihihih...
2. ප්රශ්නයේ N + N සහ N * N කොටස් පමණක් විසඳීම (බයිට් 484)
භාවිතා කිරීම TovTovTov(TOV='1',SEP=', ')
, මේ වතාවේ SEP
අනුපිටපත් වලට ප්රතිශක්තීකරණයක් ඇත ( ",, "
තවමත් එහි ඇත්තේ එකක් ", "
පමණි), එබැවින් පහත දැක්වෙන යෝජිත විසඳුමට සෑම විටම විධාන 33 ක් ඇත, අක්ෂර අනුපිටපත් කිරීමෙන් පසුවද:
1111, 111111111111111111111111111111111111111111111111, 1111111111, 1111111111, 1111111111, 111111, 111111111111, 111111111, 11111111111111, 111, 1, 1111111111111111111111, 111111111111111111111111, 111111111111111111, 111111111111111, 11111111, 111111111111, 1111111111111111, 111111111111111, 1111111111111111111111, 111111111111111111111111111111111111, 11, 1111111111111111111111111111, 111111, 111, 111111, 11111111111, 111111111111111111111111111, 1111, 1, 11111111, 1, 11111111
අනුරූප ints array ( ඉහත එක් එක් විධානයන් 33 TOV
න් s ( 1
ය) ගණන පහත පරිදි වේ:[4,48,10,10,10,6,12,9,14,3,1,22,24,18,15,8,12,16,15,22,36,2,28,6,3,6,11,27,4,1,8,1,8]
අක්ෂර අනුපිටපත් කිරීමෙන් සම්පූර්ණයෙන්ම වෙනස් විධාන 33 ක ලැයිස්තුවක් ලැබේ :
[8,96,20,20,20,12,24,18,28,6,2,44,48,36,30,16,24,32,30,44,72,4,56,12,6,12,22,54,8,2,16,2,16]
මුල් ints අරාව ( N + N ගණනය කරන ) පරිස්සමින් නිර්මාණය කර ඇති අතර එමඟින් විධාන ඒවායේ අර්ථය වෙනස් කිරීමෙන් පසුවද, වැඩසටහන තවමත් අර්ථවත් වන නමුත් N * N ගණනය කරයි. නිදසුනක් ලෙස, අක්ෂර අනුපිටපත් කිරීමෙන් පසුව වෙනස් වන පළමු 4
( TovTovTov
“අක්ෂර වින්යාසය අක්ෂර කේතයක් ලෙස සලකන්න”) 8
එය සම්පූර්ණයෙන්ම වෙනස් විධානයකි (“වැඩසටහන් කවුන්ටරය පළමු පොප් කළ අගයට වෙනස් කරන්න සිරස්ව, අගය වහාම සත්ය නම් ").