Re: 10405 - Longest Common Subsequence
Posted: Tue Dec 23, 2008 6:09 pm
thanks for the insight I have corrected the flaw. It's accepted
getting frequent WA; dont know why...............
I have taken input through gets and then used LCS algorithm;
is there any thing critical or wrong?????
Code: Select all
#include <cstdio>
#include <cstring>
char a[1010];
char b[1010];
int dyn[1010][1010];
int lcs() {
int ca = strlen(a);
int cb = strlen(b);
for (int i = 0; i < ca; i++) {
for (int j = 0; j < cb; j++) {
int curr = 0;
if (j > 0) {
curr += dyn[i][j - 1];
}
if (a[i] == b[j]) {
curr += 1;
}
if (i > 0 && curr < dyn[i - 1][j]) {
curr = dyn[i - 1][j];
}
dyn[i][j] = curr;
}
}
if (ca == 0) {
return 0;
}
return dyn[ca - 1][cb - 1];
}
int main() {
while (gets(a)) {
gets(b);
printf("%d\n", lcs());
}
return 0;
}
Code: Select all
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
char line1[1010];
char line2[1010];
while(gets(line1) && gets(line2))
{
char c,d;
int i = 0,j = 0,saved_j = 0,sum = 0,msum = 0,flag = 0,counter = 0;
c = line1[i]; d = line2[j];
while(c != '\0')
{
j = saved_j;
flag = 0;
while(d != '\0')
{
if(line1[i] == line2[j]){
sum++;
flag = 1; i++; j++;
saved_j = j;
c = line1[i];
d = line2[j];
break;
}
j++;
d = line2[j];
flag = 0;
}
if(flag == 1 && c!='\0')
{
continue;
}
if(c != '\0'){ i++; c = line1[i]; }
d = line2[saved_j];
if(c == '\0')
{
if(msum < sum)
msum = sum;
sum = 0;
counter++;
c = line1[counter];
i = counter;
d = line2[0];
saved_j = 0;
}
}
cout<<msum<<endl;
}
return 0;
}
Code: Select all
#include <stdio.h>
#include <string.h>
#define MAX 1002
int LCS(char [], char []);
int main(int argc, char** argv)
{
char str1[MAX], str2[MAX];
while (gets(str1) != NULL)
{
gets(str2);
printf("%d\n", LCS(str1, str2));
}
return 0;
}
int LCS(char str1[], char str2[])
{
int i, j, k = 0, l = 0, m = 0;
int max = 0;
int len1 = strlen(str1);
int len2 = strlen(str2);
int p;
for(p = 0; p < len1; p++)
{
k = 0;
l = 0;
for(i = p; i < len1; i++)
{
for(j = l; j < len2; j++)
{
if(str1[i] == str2[j])
{
l=j+1;
k++;
break;
}
}
}
if(k > max) max = k;
}
for(p = 0; p < len2; p++)
{
l = 0;
m = 0;
for(i = p; i < len2; i++)
{
for(j = l; j < len1; j++)
{
if(str2[i] == str1[j])
{
l = j+1;
m++;
break;
}
}
}
if( m > max) max = m;
}
return max;
}
Code: Select all
pgddggnujxqetuchfwhidygnsyksszhhhkmntbhczaiswkzbiikmisbasnuloduyqhllkvpjxxdtjeurogfwzjz
wtenzblrkycutrgsollzsiqgowdphcjdxpsysdpcctzvkfqasbzkjstaqyrxcaabsvakyrpaloyvvoy
rzadrtdhtuevxhwrcwbaoqdzgdwbrupkurnlkqvdnzamg
dktgljzqkftgjmdywxpkkbcfgphgdneiyzpliqdsxwbgkeggbxsnavtimaqspvapupcdhhxffynpcuyfrq
snoaaqruhouzimdntllaqlogqievbwq
kgymyrgifahnmmdixoiobwwrg
piyfdiobwoscwzffntsqbrgkfhgdbnfqxevaolelcypaywgnqafrtndbumevbknyojyewerydjzdfhqxjxrckudggieh
rhkciozmgzrpauwjmusjlxtfcaomgxgxfqanhbbnctednaoauhlfgfnkhdxpcfmhyowfryuuryzgynivwu
ebppkuozxt
gtcfytdspwqoerenmajofmgwwckxzdkixonxisszqkqubujpwsgdemzcojbqpmaoapnkh
kxqattwdjsxpwedxgtjijawlowadjhjtgzvasrfdlcujgxhprszasxoivolewuzevugqnltzqoiyn
pejqhdnvljjxnhtnmpjuhxicwyqgweaoklerpsmcbybqfvftm
ovowxmwqsuwuiggnaxhmzkmdauainmzdjnbgzzwtusocbwrbvypwkczlwzvlnurwjsfkubdowtszrmamk
jvvkirkffzbwykqdukgzyevtdmffbrxmoswymidrkepiqflkstmsyhlbvsjwkiiachzorch
jylzgwmyqyqqfetawczikjj
qkdkmnnxlzxrxlppjifqmzs
drvodgdvqifcvtchubytmqjxyqnm
hyvbtlebozrwfwuaybwzbplrakrrxfiggfhbqldglufsqzsoaqpdfaxgmozjwjscpzfflioydtqvskmuabxfe
nqlmcjwulltqsgbgegbubvenpgppmvlbly
nhmhuzdntjocoudk
zrlqxcflztnkrdazrjvsmilywpostyqupdknhsygnnsequfje
bslpskegczfutwzgjiykonxjrqdzz
cdcnsuzybeyiyteazqizazmxigplhpvjuzymvymyekicgnefdnffmtewbuhijerffsrdsfbwqkawzfdeskj
encfhlqsshxxbqat
eroqsmpzpttcczirdpzoftiptgqjimhodvexjtwzopbqqjktajkg
svxyljjzqxdoccxxzymobefmoanzktgdoddbmmbfmgtqiqnjpbaqihdwhqyslexzhaawndbblwrumgfdkfwsmbqw
oqcsndcnfacjdduzwqndytpdphsqxqjogngtqkgxklipo
onvcsvvhzmqtcnjndpakkswsrjdayufphctbyoizcysgndtruvdepbygkcgjylahotiojqnlqfrdkmwejziybgglkpwicwrsp
gartlhaelkqjozjyzmfgzrvwczutsmtymksause
dxqtwzsylzglqdjscfoutjt
vnkpfowklnekowiavqnntyivfwqzfl
aytqfhoqvbwhqspspffeafmvkknlrausynkexawucsbumsmbzthzauwkgmwymqsngctfcpbghcctuowvjdujzswggsetkwisa
zeq
nxcpsygotrtpbtkzbqrhldfvwfwvlmwylaqfbwtwnpoqkyplqisemxzkewfpkdqyegdh
zdrorkarzlkkfowcngilnzwtpwzxzgbajv
dfqugbesiuokiwutmurfjnejpkkrvhiymyvvcbnkwexgcrzonttxizizjsrfazfozaldczqafpghghwuartlrbkc
dhxepoepzjtaztfobpxjntleowxrjaomjmryaxqbgjcifjygyxrlqdqgbpxkpmxzaqzanpbvbfdipcqnbizslramgyzymwzoo
qbqrytzcbogrdhzcbmvcbecaeqyd
mdupvnnqorrczlgjmkkzioamscskavqmambyaoooiithvbqhldivtkhmmbym
pyzb
zdspuaznjuqacbdkxwvgkjijwgawhbyihqabszqbugdwhgigffprpzcnhcjrgjbnbbqtbgxvmatvj
eqlvhcwmpdqawymylnzdjcjizvisttyxjjutn
fevvesusshgtlrwwzvuhqnbqmmbgfoymstkyngrhpzbcqzzpwtyoibeuohcvvaipvsqjyjqnitqasrppmpfurm
htscrumipeyaehrurkmrfdiwpybjrnbyjvcappigvjhcsawkkibrnmnckpnbeqbn
fncuyishrubrsleapvpbjrnagqewruhyhjvhtnqljscbfidwesxpjmprcvn
pwuzhpgccznntsoyarvgjuvujmlliahxydyfshjwgxjzrzztqwaztxtckgnuiwtgzsntzwrhvaimzhirgkszhnbttqpbpjh
dwketb
qetffcnxixpjg
mcwfraucjkh
wlbyyteryjwlggkystbevz
obftlqatoowmmpqgocebikmgchjjejuskanxsqsgeovsgnywpcxaplitsscwdzrpbgntwhbcyyveotafyzfnlogfilelkvcnbpi
zjcxkxbytddrcl
pbmvjzzwlwyyzqgzpsemcdpcwshpusvkvkhelgcxebxdtefiylucolendnexicjdoqizymyenwkgcrqc
mesxkhaxoafqljeetfefgjvcvdgmuiqimkgyuivikbawmgahlgorpjvmpdyllqtzdbxxkvfwyfsklutybhssrpfitftgwm
zqfy
ad
akrkxlfxonphef
oathgrvosluqnwvmxfdjeqpchetokacyaxfhpavhmrabqvnpdsahlrlsvhifhkdijiryloizgiaydonginqtfdnckv
shlcrwvphjzirh
pnycvhslczpqbbnltvxxmvudeefmvmunbtrxcliekzwobkzwhywvvqazuflsuihvdysfkdlwckmdwmcdmy
ioyhlevdydmvikopwrattmhzitblgblopmxassfsxrnhebwauzvqldpwysjgtxwkjulbostokivqmu
gtowgtnerhoyalulwqyxhqsvccssoolxjztqsj
lqkltxggtyesfwmc
pvtfjectfylzhjlxuwqtewpdcjkbwncnkvuvcxqhvbhclubhsucxsrcvbmwzbaolvihxhxhcbqg
kkxcezbwtftwurvvrlhpvqmdpvfqloexydcedfawlwsfppchclwxbkariijtwqtwtvayacunaosqfvxjgv
khjdprmlpeelyznwbstpsjhipehynehzmrcdkqoavuntvdrxvkmpwvylchlrmvqamsfyiwydq
ymrqjocxdaudnwlznxwfzkxeigajltxkfqcqggpjhjnuiyvxxtdydccmkfxwauifmmxsso
bxqyhqvhprmnuosizzfxzbfgprdhlrlpqdpaumhjdvzylrimsojrrqxhjcqvvbmlhbndpwmtrntdgbpyrbpjros
qiynmkztnmwclkxcaqhguzflawwtloudxurlgsetgcyroxwoodvkcaveysylgupfpiqvcwriypcnoybedwoiykmzc
kkhbswjirnfi
fzauoawsduhlvtauxmejtgbprkjhrtfytftjhrdklmyifycckjmgrpxkbgrsawtvdmemdhxquxzbxbejmspdhn
jtfdveyqjkwwpgviashdpkjyxbqcldqwyyzwcymnkjjcrekryrwpdgqchgfu
vqjtsfxsuncfwgwdqpd
ltprjrzpwvaumlnernwlaaqyhmdzbhlmaaglrfcoceiopxsgmqt
tlnczqdaxopzovmgcowgsgvifpqsimgbxvdxmizlxqnlnztrqrykztufklzsxhtwdytrhveglrrbtn
lgsvgnqlydmqatmywkuptpuzcltdggyroqnugdhe
tu
pgintcdorxowkhbrpb
duxaachekbauqhdfcfiqzfgvsnyleavkuv
uxtykwyeohjujpccqkilcyjpelkoffazfuxpsythhdbtudvkpfxtdiikutazabzfxyupyqygtz
pfuzubyofgwpcrpcssdxrdujckhkfhjumfvigtwnbvceouiiolggqcp
myerfnntsicbdaoevtkmnsudfcjweaqqzvjgkwcfgegjewqcpcqexkicntarwrkxotdasffallksicuzgmed
oglhgfdzpcpkgqenvfzjrrtvnubzyfxoljwtobvfemrmcwzabals
gpiaqjzvhpisleipznvlejqaisdldxejmpjdykahajz
nheowzbbirdtjjgogmxvb
yatyjvjjjwsnmpposzhxurgafpnfkqoishicdsnoqfdfwstquaootwrblegvwuf
dorgigualafku
aodqdwnwzyafuybznfpglzmicakjmekm
nfylsulqwsmuuokzfqmhfwjhgstlehgtmehgauxwmlsgbchhtuqaszhztamajstwyccywbujpmrqpzzkvpmnqtokvcmeufcskfq
imrxbjqskrchhqwzjnlgpxkmfpepuxxelpemawemnitwypwjehpufcgkrmbnlytznx
ntszjcufdmboqlekqiscbfdosbhrphfecxglbcteoutfhzrzjkbkrea
ijdzqifvfngiqbpewilfjff
pgeinetxnwwgebblpjuhljnjtz
eetyvccdrgwovvkbzncneohlzszknyyr
upbytepzcdwznyzccmhqvsrnrdcrctxykywdenej
aifyjhdxovshphasjuwetuousryf
jvwuawdkbbyxvhmdkeogbtzxhtszuzwfvuzxtdjugitbrhgbovhrojoxeiwai
gfrhekmohsyawpkctyxcpnlflsojsyeadyihiuxrp
unlepecpgtcuypmozgmfjpdrzonwfeuzrfdjlhytacnzsbpricyrtckusztxenz
ucgfkeykj
lbpbuzfssywe
qeookbnhvrqcdwcqfsbgiecjjxekvidmmrayupgrgwtmsxcaqdiaklj
inddyipkbrjvirmrphdjffjxksxufiqnytswekifbtdkkrdbbgnilwfxqcs
kikidfghppp
iscvlhwmnjuaizyydswoaiydnhncwcvewzzhhyuwhoxpqxqtpojpykumrjqnlnth
tpwtluazrspoklfauuyerkvadkoqexfzmdszyuzroqiydnyykzedladomthqrmrfslfqggjuy
vcfvarueuggzwvtdlmqfrkqycyeltddqfklhbgnvowukrpocbgjvqatsyadtdijksvrvdgqrcnbtcrygxhbnjwhkwndzvpl
melpleinrl
vdfdcoeqydzizmnbicmyorlfepn
ibaeefjiwqyutac
mrvwukuidiqhxfyggbmmivvelvygvczkuwgqgdajlqqkwrqesetacohplfwjkx
gtzwaewjpncaltspnxipbywqmemvqjowfpsfuqqldulqpeicdsugrqwfwlamwqi
fcibtbnyvyrlezpjr
pkcopyzpnxfxznajovmbvicmvilmsfwjpazfaywnyelzrnihivlffpscx
orkkdamchndfabjnacakmifxommiolndfapiack
rporqyf
cfdoqklgxzqlndqsdgcfkoobefuwfzrhhuyzglhdnxracjugpwnbmecqjxpqygxhcxiijpowohyrqs
iqmlcqovznkpnspvumfexxstlbrculbebopgefbgsnvifmfbbkfyhautbnxxzzbcpritwlzraxzflggmqonaohvrusp
tqyijieiwfzweac
ikeaaraqavixqzslrswbbajxhktmmxewkkwkexbeulbmkwybouepwpofbktphxltiiemhhsdswqcsq
gkkyibopdyjsigebqohexozagvqkpgqvscvcdmsgkbbujhwcvdgsuhsacllrtdpofmqiykrjlsfxzbzwhhobpidtvonptcfyo
jpicavufsvhtrqdhturwnnncegejhvgqmosmkorejayaqdhjxygmntprbvcisjyezsqlgkqpkqrbtymszuempvg
tizltasvukgduwsfomihmwblrgagdizwqbimbchxmpahovochwmtunhlvjuzrtvjwfxzhgxwwxdksro
paxlqgxlptmimktlprkzxhvvfahztwbkyavogscxlqfaaalsrvtrfoomqwljuotsqojwjnvwdcyedlywjrpofecxcngwe
ourztcmozqrzwunuqylio
mqpodxkjya
pazsonteeucahytfjbtdpjudprpappghrfzgvumborcwpvdbyzenkzsbshckykrsssanmmoadsyv
ewndccpdurwdvgcfxwxpwmbkbdqteljihynjbcpvtlbordwqb
hxikhlnzerkpbtoofrruokfpbyuzovuvuehepudwoonphdeouvilhnaknxldsia
mhtecwasmphutnipitasidewaqzuyajkjcqnzsflinhdasslnvfvyjryztsxvekeg
shtzvbmeepyyclthjtqcrsvmpssbzyctivsf
hleykcaxyjgrzjltgzlzrmarotbllglssrqewsdubkndvywbxhcqucikxjyjsjdmbwqxottsfgvchrgg
kxvnhfkqfvkrbwuxotnkmfruaubuaivkhszozmgfjrwknqjcjxmxcdrfz
bbdwmkonypbgulxqxlihpredoiigpibqjgoxqenquowobwhbhpiyjobxyjfqtiido
cgdpyzgxqjtxkcouaxkdxjocbinjnbgpimhilnfbyayjcpfeo
hlbwqcgdlteukogt
rievhfvsjkxozpxkqvcsbfgwmahcicbzlgwsnsmycjodzmqphskjyqhksqmatobewyylqkl
vayumomvgyggooqiefixvldtjdgbnrwjtuffkrdqrjxfxppewzdrljmwmsycmunfqsnamqsdzplzhcfd
kxptjlielkqfzvxrixfaqlchydqaiuesttochwgsgyafuxyexgfpthyrkptulaoetcicyrvgpxnlwmqtux
nglgsazmnz
rvfbxd
umitzvqlllhkwuqhaijcwydxpyesyjlsvvovqeiepqonmhwpphrmfulwvpptaanwxbtnfdtxvkkirhxgqquwmfsh
hazjovgrqwxtpwpbgzspybgoveadwibgkapaxysnurjlnanvzhlxitngxplvzmbmptmmreclxnyknnimvvlfoalnryktlmfcfr
yyslxfjkuzsiwntbdvpsnncgaq
cxetvengcvsmpreynttqwphoe
smxjzaifvekimmdeavxetmxofvfmljjdxhoyhzecfomrcsycnxiikhwpccb
nns
ujlbipfnftgjlenyevgocffghivwvqjpzvshmzwstcbgjpfnmndrsizbsvyolhfmeav
zrjutmbcdirqxujqcirxdrl
bscfsxwuqhqmwtozdirbcarhlkeqerjfjlkeljadsspomgqpojsqmjxxwdnauwhgktmxem
xeqnswdkmpccbocykhnmckviwouttivqolfhjlrvavabjebv
ojpyezwtvpodlgsylbkwufyphzznawzrgqrkqofldtrqblrnmblgikxqlyfovgfbxwnnmvasqrisczhqa
ylewdsuigppnsmlibydbqtvanzcuqepoptmslhbtysgteubhugkk
fmpfojxtyniuabfhebhwhacddjxjvhlbwaiklhdkumgupldtmlr
ntbrezcbineepopbvsnqgtmxgssvdjtseulktomcbqirfxucsjsachykzqfecywgtitowfqzxzseyohqxbtzirkj
rnlqmulwnzuusvttoyrchkaidbtwncffstvgnicchyyztruhrom
yojdpcbdggiyzfgoniqwiqycislbgzagnjjfnmkttsuuzaloldktuivedj
jihsysddfqnzjhtfgvswgwgaqrxwwgbfrlzpddslthmeohjwces
aajstgopprxicwxizrtsyfwomikom
xogigcrwripqqsnncogvhecfuopgedketsobufxonpefhtsliairgkyaaqggtskpnzqhgqxwfcbovwzdwjwdtvdtlm
gemvrnobtgyplctbypcdllaoevuziga
momgbajxghotkhukyy
kjpapkwqueqjrhvzkxihfryybhungsb
dsusfrizvaiojfnuexdjpdjsldgtxjlabhuiyeiwfsmqackezoqqrzjefrxeckhfubouiwqpoffohqviglzzmkgtdf
fshk
ky
swzhlenbnfyv
lwmygstjytoqcbenzkhyjrjpgmcllyywwkwdfsofldvqgzfhlmfxfomldrwqrwm
jlqodhvqkqgsrnzecfbhvqtyhroaqdnzqgptnklzcurvhqzjx
rttmtcdkctprufxjamvllzfeunxwywzppudlwjvaemrzr
ktdierhmxcbuazrzr
tuvrdqrickjvbvohdvyljxpkuplnqevlbrcejvoofzlhvc
yxolglcsfrfsjkquljyrutiibh
kewafvoqdbvxjmcdwmvszerrbmbjnkfxpdxwanmdphcawfdutzovffmgupshzzfqfemfsbljin
guocoprjvyxdsmxcnxjec
qjhruqcibkc
nsfgdceaizofbcekiixyshqmxuwzebrrvy
zbebldssewxqefpczwuouokvvnmojkoknslyxdrdzqtdviixfelbvxwqlkeww
gkmtkjxbmyrhepqooxszynwwfjgmfcenothzegcrgwaklsybpt
piyloitapwgdmzmlesoxykzlxslyjeaznykbiedyclbolparhqqhcruzjgztkzszzeaikf
mrjbeydxhvpqxglwqtxldwddvjffunlggwjkuojdjyuiehewadjfzmkxysesfqalomxjagom
iukrbjresxghhffzjzgbzrqlqbowpccayprzyj
simzrtgrcfzehrwujxigmmiolxgkxrsqzgrqzyjedjik
ghldptrcegndmzbduteakwaiggorqyvwfizxcqbgwqjirmnlftmqqoyyumpknmguuftwxueumqeecupinbydpy
lnsvagbwbiqzgmeazugdyasgowgrnhv
upuwwysxgiymxcowyxbxxtflroffvcerranpyfohqnvprklqhmpghwszkzghbmyumnmlvaulppahbnzkbqrkmljzkrindjjqw
dryxenmgwovvy
nrhccsboklbnunftiimihtywzukv
ktfcah
kvfyyuulanwkcgsvequzarrmlwqngxgsunqsilgkyeuckoxpeuqgnjvyhlmnkugekwzshfcilyk
pkovgectnxsvkgkvcqzopygyfkgsltqcfexllbeyyyvlggglyfzngimnsuifpyhuefhpimqhmnuttaeuhfhpnvdislnhlxere
hmzzvmmphipnezsloijrqbefkreojicsvbtsphiwrzlvyehnmsgevnjfgowpyajvd
otmyrdzdzyjinxavbxkmcrcaibaswgwmbkmsomxpmixzfzwiwhxayzbgcdabjznmjahzoeoaplbwkxhi
ejedmnippjboynaawzoboqsbroorvwzbfghrtpjkymzybbzy
nbqets
jgqheqikwpdrgobeaadcbeaerbuxwoxfwnmbfxnbossvhubhwglaklgeocdkraspqgsvdfzua
phnqqmzcojp
newtqpviflrxjwfiqfzfmpyebx
piwlychrsxmdeyubhqirjnqobhogknmbwkmumulhtxmxxgagyjxhyqyaxogkculyhyst
Code: Select all
23
16
8
27
5
17
20
4
11
5
11
9
20
24
9
15
3
15
14
3
13
20
20
2
4
9
21
0
9
9
15
8
24
20
9
23
7
20
1
15
18
12
9
5
25
11
8
6
12
7
5
6
21
8
4
15
8
3
24
8
25
27
3
17
16
16
16
8
21
5
4
12
12
3
10
18
12
21
16
13
7
15
1
6
12
8
10
3
12
18
14
18
13
5
0
28
21
4
5
10