## 865 - Substitution Cypher

All about problems in Volume 8. If there is a thread about your problem, please use it. If not, create one with its number in the subject.

Moderator: Board moderators

chetan
New poster
Posts: 43
Joined: Sun Sep 24, 2006 2:39 pm
why WA ???

Code: Select all

``````
CODE DELETED AFTER AC

``````
Last edited by chetan on Sat Jul 14, 2007 6:04 pm, edited 1 time in total.

Jan
Guru
Posts: 1334
Joined: Wed Jun 22, 2005 10:58 pm
Contact:
I haven't found any error. Try submitting it again.
Ami ekhono shopno dekhi...
HomePage

ayeshapakhi
Learning poster
Posts: 60
Joined: Sun Apr 16, 2006 7:59 pm
>>chetan

did u really got WA??
i submitted ur code without any making change and it got ACC!!

however, remove ur code from here..

chetan
New poster
Posts: 43
Joined: Sun Sep 24, 2006 2:39 pm
hmmmmmmmm............. may be i made a small change somewhere before submitting.
but anyways thanks a lot for your help

RED-C0DE
New poster
Posts: 16
Joined: Mon Mar 26, 2007 6:47 pm
i cant understand why can not get AC in this problem...

can anyone help me or give me some I/O

here is my C0DE :

Code: Select all

``````
//uva#865	 Substitution Cypher
#include <iostream>
#include <algorithm>
#include <string>
#include <map>
#include <vector>
#include <cstdio>
//#include <fstream>

using namespace std;

int main()
{
//	ifstream cin("test.in");
char ch;
bool newLine = false;
int T;

cin >> T;
cin .ignore(2);
while(T--)
{
if(newLine)
cout << endl;

string plainText="" , substitution="";
map <char,char> mapSubst;
getline(cin , plainText);

//filling the map :
int szPlainText = plainText.size();
size_t inxPlainText=0;
while(szPlainText-- && cin >> ch )
{
mapSubst[ plainText[inxPlainText++] ] = ch;
cout << ch;
}
cout << endl << plainText << endl;

//*** :
getline(cin , substitution);
while(getline(cin , substitution) && substitution!= "")
{
size_t szSubs= substitution.size();
for(size_t i=0; i<szSubs; i++)
{
if(mapSubst.find(substitution[i])!=mapSubst.end())
cout << mapSubst[ substitution[i] ];
else
cout << substitution[i];
}

cout << endl;
}

newLine =true;
}

return 0;
}
``````
tank u

saiful_sust
Learning poster
Posts: 97
Joined: Fri Aug 22, 2008 10:18 pm
Location: CSE.SUST.SYLHET

### Re: 865 - Substitution Cypher

Hello RED-CODE
u programme give wa out put for
sedfcho input
try to read input from file && compare it with sedfcho output

Experienced poster
Posts: 136
Joined: Sat Nov 29, 2008 8:01 am
Contact:

### 865 - Substitution Cypher

nothing to display
Last edited by sazzadcsedu on Sat Jan 15, 2011 7:52 pm, edited 1 time in total.
Life is more complicated than algorithm.
http://felix-halim.net/uva/hunting.php?id=32359

Shafaet_du
Experienced poster
Posts: 147
Joined: Mon Jun 07, 2010 11:43 am
Location: University Of Dhaka,Bangladesh
Contact:

### Re: 865 - Substitution Cypher

If you are getting a wa, try the sample input posted in 1st page.

faiem
New poster
Posts: 14
Joined: Fri Aug 13, 2010 12:22 pm

### WA: 865 - Substitution Cypher (Faiem)

Why I m getting WA.

Code: Select all

``````#include<stdio.h>

int main()
{
/*
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
*/
char cyper[26]={'z','y','x','w','v','u','t','s','r',
'q','p','o','n','m','l','k','j','i','h','g','f','e','d','c',
'b','a'};
char ch;
int test,T=1;
scanf("%d",&test);
getchar();
getchar();
while(test--)
{
if(T>1)
printf("\n");
while(1)
{
while((ch=getchar())!='\n')
{
if(ch>=97&&ch<=122)
printf("%c",cyper[ch-97]);
else
printf("%c",ch);
}
printf("\n");
ch=getchar();
if(ch=='\n'||ch==EOF)
break;
else
{
if(ch>=97&&ch<=122)
printf("%c",cyper[ch-97]);
else
printf("%c",ch);
}
}
T++;
}
return 0;
}
``````

uDebug
A great helper
Posts: 475
Joined: Tue Jul 24, 2012 4:23 pm

### Re: 865 - Substitution Cypher

Here's some input / output I found useful during testing / debugging.

Input:

Code: Select all

``````2

abcdefghijklmnopqrstuvwxyz
mlpoknjiuhbvgytfcxdreszwaq
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Cras et mauris vestibulum, sodales erat et, dignissim urna.
Donec ultrices dictum erat, id faucibus dui mollis auctor.
Quisque convallis luctus nunc vitae gravida. Nullam quis orci
eget ipsum ullamcorper consequat. Nam et bibendum elit. Proin
sit amet congue odio. Nunc sodales vitae ligula non eleifend.
Etiam iaculis ipsum at magna fermentum egestas. Proin quis
felis vehicula,

AeIoU
mPjHi
Tristique elit eget, feugiat nisi. Nullam tristique iaculis
purus, sed laoreet sapien vestibulum vel. Quisque at
consequat lectus. Sed posuere dignissim nulla, sit amet luctus
ligula scelerisque non. Suspendisse eros ligula,
ultricies in orci quis, tincidunt adipiscing neque.
Aenean volutpat nec ipsum eget aliquam. Suspendisse potenti.
``````
AC Output:

Code: Select all

``````mlpoknjiuhbvgytfcxdreszwaq
abcdefghijklmnopqrstuvwxyz
Ltxkg ufdeg otvtx dur mgkr, ptydkprkrex moufudpuyj kvur.
Cxmd kr gmexud skdruleveg, dtomvkd kxmr kr, oujyuddug exym.
Dtykp evrxupkd oupreg kxmr, uo nmepuled oeu gtvvud meprtx.
Qeudcek ptysmvvud vepred yeyp surmk jxmsuom. Nevvmg ceud txpu
kjkr ufdeg evvmgptxfkx ptydkcemr. Nmg kr lulkyoeg kvur. Pxtuy
dur mgkr ptyjek tout. Neyp dtomvkd surmk vujevm yty kvkunkyo.
Erumg umpevud ufdeg mr gmjym nkxgkyreg kjkdrmd. Pxtuy ceud
nkvud skiupevm,

mPjHi
AeIoU
TristiquP Plit PgPt, fPugiat nisi. Nullam tristiquP iaculis
purus, sPd laHrPPt sapiPn vPstibulum vPl. QuisquP at
cHnsPquat lPctus. SPd pHsuPrP dignissim nulla, sit amPt luctus
ligula scPlPrisquP nHn. SuspPndissP PrHs ligula,
ultriciPs in Hrci quis, tincidunt adipiscing nPquP.
mPnPan vHlutpat nPc ipsum PgPt aliquam. SuspPndissP pHtPnti.``````
Check input and AC output for over 7,500 problems on uDebug!

uDebug
A great helper
Posts: 475
Joined: Tue Jul 24, 2012 4:23 pm

### Re: WA: 865 - Substitution Cypher (Faiem)

faiem wrote:Why I m getting WA.
Try running your code on the input I just now posted.
Check input and AC output for over 7,500 problems on uDebug!

unreleased
New poster
Posts: 16
Joined: Sun Nov 10, 2013 7:41 pm

### Re: 865 - Substitution Cypher

why WA??

Code: Select all

``````#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <iterator>
#include <map>
#include <set>
#include <sstream>
#include <utility>
#include <bitset>

#define mx 1000000
#define INT 2147483647

#define D   double
#define L   long
#define LL  long long
#define ULL unsigned long long

#define isc1(a)      scanf("%d", &a)
#define isc2(a,b)    scanf("%d%d", &a, &b)
#define isc3(a,b,c)  scanf("%d%d%d", &a, &b, &c)
#define llsc1(a)     scanf("%I64d", &a)
#define llsc2(a,b)   scanf("%I64d%I64d", &a, &b)
#define llsc3(a,b,c) scanf("%I64d %I64d %I64d", &a,&b,&c)

#define f(a,n)  for(a=0; a<n; a++)
#define all(a)  a.begin(), a.end()
#define ms(arr) memset(arr, 0, sizeof(arr))
#define cl(a)   a.clear()
#define sz(a)   a.size()

#define sc scanf
#define pf printf
#define pu push_back
#define pb pop_back
#define vc vector
#define mp make_pair
#define fi first
#define se second
#define pip pf("pip.....\n")

using namespace std;

int main()
{
//freopen("input.txt", "r", stdin);
int a,b,c, d;

string str,temp, from, to;
int len, tst, arr[250];
isc1(tst); getchar(); getchar(); c=0;
while(tst--)
{
if(c)pf("\n\n");c=1;

cin>>from>>to;  getchar();
cout<<to<<"\n"<<from<<"\n";

ms(arr);
for(a=0; a<=sz(from); a++) arr[from[a]]=(int) to[a];

d=0;
while(getline(cin, str))
{

len=sz(str);
if(len && d)pf("\n"); d=1;
if(len==0) break;

for(a=0; a<len; a++)
{
//if(str[a]=='\0'){pf("\n");continue;}

if(arr[str[a]])pf("%c", arr[str[a]]);
else pf("%c", str[a]);
}

}

}

return 0;
}
``````

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

### Re: 865 - Substitution Cypher

Always print a newline char at the end of the last line.
Check input and AC output for thousands of problems on uDebug!

unreleased
New poster
Posts: 16
Joined: Sun Nov 10, 2013 7:41 pm

### Re: 865 - Substitution Cypher

brianfry713 wrote:Always print a newline char at the end of the last line.
aah its WA too after adding a newline at the end ....

Code: Select all

``````        #include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <iterator>
#include <map>
#include <set>
#include <sstream>
#include <utility>
#include <bitset>

#define mx 1000000
#define INT 2147483647

#define D   double
#define L   long
#define LL  long long
#define ULL unsigned long long

#define isc1(a)      scanf("%d", &a)
#define isc2(a,b)    scanf("%d%d", &a, &b)
#define isc3(a,b,c)  scanf("%d%d%d", &a, &b, &c)
#define llsc1(a)     scanf("%I64d", &a)
#define llsc2(a,b)   scanf("%I64d%I64d", &a, &b)
#define llsc3(a,b,c) scanf("%I64d %I64d %I64d", &a,&b,&c)

#define f(a,n)  for(a=0; a<n; a++)
#define all(a)  a.begin(), a.end()
#define ms(arr) memset(arr, 0, sizeof(arr))
#define cl(a)   a.clear()
#define sz(a)   a.size()

#define sc scanf
#define pf printf
#define pu push_back
#define pb pop_back
#define vc vector
#define mp make_pair
#define fi first
#define se second
#define pip pf("pip.....\n")

using namespace std;

int main()
{
//freopen("input.txt", "r", stdin);
int a,b,c, d;

string str,temp, from, to;
int len, tst, arr[250];
isc1(tst); getchar(); getchar(); c=0;
while(tst--)
{
//if(c)puts("");c=1;

cin>>from>>to;  getchar();
cout<<to<<"\n"<<from<<"\n";

ms(arr);
for(a=0; a<=sz(from); a++) arr[from[a]]=(int) to[a];

d=0;
while(getline(cin, str))
{

len=sz(str);
//if(len && d)pf("\n"); d=1;
if(len==0) break;

for(a=0; a<len; a++)
{
//if(str[a]=='\0'){pf("\n");continue;}

if(arr[str[a]])pf("%c", arr[str[a]]);
else pf("%c", str[a]);
}
puts("");

}
puts("");

}

return 0;
}
``````