ZCMU—1403

原创 2017年01月02日 22:49:18

1403: Arne Saknussemm

Time Limit: 1 Sec  Memory Limit: 128 MB
[Submit][Status][Web Board]

Description

Following the account of Jules Verne, a scrambled message written by the middle age alchemist Arne Saknussemm, and deciphered by professor Lidenbrock, started the incredible travel to the center of the Earth. The scrambling procedure used by Arne is alike the procedure given below.

1. Take a non empty message M that contains letters from the English alphabet, digits, commas, dots, quotes (i.e. '), spaces and line breaks, and whose last character is different than space. For example, consider the following message whose translation reads "In Sneffels's crater descend brave traveler, and touch the center of the Earth".

In Sneffels craterem descende audas
viator, et terrestre centrum attinges.

2. Choose an integral number 0<K≤length(M) and add trailing spaces to M such that the length of the resulting message, say M', is the least multiple of K. For K=19 and the message above, where length(M)=74 (including the 8 spaces and the line break that M contains), two trailing spaces are added yielding the message M' with length(M')=76.

3. Replace all the spaces from M' by the character _ (underscore) ; replace all the line breaks from M' by \ (backslash), and then reverse the message. In our case:

__.segnitta_murtnec_ertserret_te_,rotaiv\sadua_ednecsed_meretarc_sleffenS_nI

4. Write the message that results from step 3 in a table with length(M')/K rows and K columns. The writing is column wise. For the given example, the message is written in a table with 76/19=4 rows and 19 columns as follows:

_

e

t

m

n

e

e

t

_

t

\

u

d

s

m

t

_

f

S

_

g

t

u

e

r

r

_

,

a

s

a

n

e

e

a

s

f

_

.

n

a

r

c

t

r

t

r

i

a

_

e

d

r

r

l

e

n

s

i

_

t

_

s

e

e

o

v

d

e

c

_

e

c

e

n

I

5. The strings of characters that correspond to the rows of the table are the fragments of the scrambled message. The 4 fragments of Arne's message given in step 1 are:

_etmneet_t\udsmt_fS
.narctrtria_edrrlen

_gtuerr_,asaneeasf_
si_t_seeovdec_ecenI

Write a program that deciphers non empty messages scrambled as described. The length of a message, before scrambling, is at most 1000 characters, including spaces and line breaks.

The program input is from a text file where each data set corresponds to a scrambled message. A data set starts with an integer n, that shows the number of fragments of the scrambled message, and continues with n strings of characters that designate the fragments, in the order they appear in the table from step 4 of the scrambling procedure. Input data are separated by white-spaces and terminate with an end of file.

Output

The deciphered message must be printed on the standard output, from the beginning of a line and must be followed by an empty line as shown in the input/output sample below.

Sample Input

4 _etmneet_t\udsmt_fS 
   _gtuerr_,asaneeasf_
   .narctrtria_edrrlen 
   si_t_seeovdec_ecenI
11 e n r e V _ s e l u J

Sample Output

In Sneffels craterem descende audas
viator, et terrestre centrum attinges.

Jules Verne

【分析】

字符串处理,解密...倒过来就变成一个文章,然后'_'表示空格  '\'表示换行,代码中需要'\\',然后处理的时候去掉末尾的空格,头上的空格不需要去掉...嗯大概我英语太差了...一开始错在这个上...
【代码】
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
char a[1050][1050];
char s[2000000];
int main()
{
	int n;
	while (~scanf("%d",&n))
	{
		for (int i=0;i<n;i++) cin>>a[i];
		int len=0;
		int t=1;
		for (int j=strlen(a[0])-1;j>=0;j--)
			for (int i=n-1;i>=0;i--)
			{
			//	if (a[i][j]!='_') t=1;
				if (t) s[len++]=a[i][j];
			}
		t=0;
		for (int j=0;j<strlen(a[0]);j++)
			for (int i=0;i<n;i++)
				if (a[i][j]=='_') t++;
				else goto out;
		out:;
		for (int i=0;i<len-t;i++)
			if (s[i]=='_') printf(" ");
			else
			if (s[i]=='\\') printf("\n");
			else
				printf("%c",s[i]);
		printf("\n\n");
	}
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

ZCMU-计算机网络第四章数据链路层

ZCMU-计算机网络第四章数据链路层 1.设立数据链路层的主要目的是将有差错的物理线路变为对网络层无差错的B.数据链路 2.帧传输中采取增加转义字符或0比特插入的目的是保证数据传输的C.透明性...

ZCMU-1016: 组合

这道题纠结了好久,因为一直用以前的数学知识来做,提交了9次都是Wrong Answer,后面看了一篇博客解决了困惑。 重点是:把原先的数学公式进行变形,避免每次都要先算出一个数的阶乘,而是通过每次运算...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ACM-补提交 (ZCMU-1617)

ZCUM-1617

zcmu 1617: 补提交

Description  TOM给自己定了一个宏伟的目标:连续100天每天坚持在zcmu上提交一个程序。100天过去了,tom查看自己的提交记录发现有N天因为贪玩忘记提交了。于是TOM要来M张"...

ZCMU-1898 Trainsorting

题目链接:Trainsorting 题目: Problem B: Trainsorting Erin is an engineer. She drives trains. She also ...

zcmu 1893: String Game

http://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=1893 zcmu 1893: String Game Alice and Bob are play...

zcmu1672

1672: 憋说话,好好算 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 285  Solved: 90 [Submit][Status][We...

zcmu1691

1691: 一个简单的数字游戏 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 448  Solved: 119 [Submit][Status]...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)