题目 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=96&page=show_problem&problem=1302
这题的描述还算正常。
两个字符串,一个是“s1<s2>s3<s4>s5”,另一个是“s6...”,输出s1s2s3s4s5和s6s4s3s2s5.
一开始用<string.h>中的 strtok() 函数。
但是,当s2或s4为空的时候,即“strtok(">
oma <
k>
amen
", ">")”时,得到的将是“oma <”而不是我们期望的“空串”。
于是,就重写了一个。如下,
char
* strTokSimple(char
* str, const char
tag) {
static char
* begin = str;
static char
* end = str;
if
(!str)
begin = end;
else
begin = end = str;
while
(*end) {
if (tag == *end) break
;
end++;
}
if
(*end) *(end++) = '\0'
;
return
begin;
}
调用方式与 strtok() 类似。只不过对“分隔符”的要求不同。
比如,
char
l1[101], s[5][97];
fgets(l1, 101, stdin); // can read '\n' !!!
strcpy(s[0], strTokSimple(l1, '<'
));
strcpy(s[1], strTokSimple(NULL, '>'
));
strcpy(s[2], strTokSimple(NULL, '<'
));
strcpy(s[3], strTokSimple(NULL, '>'
));
strcpy(s[4], strTokSimple(NULL, '<'
));
/////////////////////////////////////////////////////////////////////////////////////////////////////////
Automatic Poetry
Input:
standard input
Output:
standard
output
Time Limit:
2 seconds
Memory Limit:
32 MB
“Oh God”, Lara Croft exclaims, “it’s
one of these dumb riddles again!”
In Tomb Raider XIV, Lara is, as ever, gunning her way through
ancient Egyptian pyramids, prehistoric caves and medival hallways. Now she is
standing in front of some important Germanic looking doorway and has to solve a
linguistic riddle to pass. As usual, the riddle is not very intellectually
challenging.
This time, the riddle involves poems containing a
“Schuttelreim”. An example of a Schuttelreim is the following short
poem:
Ein Kind halt
seinen Schnabel
nur,
wenn
es hangt an der
Nabelschnur.
/*German contestants please forgive me. I had to modify
something as they were not appearing correctly in plain text format*/
A Schuttelreim seems to be a typical German invention. The
funny thing about this strange type of poetry is that if somebody gives you the
first line and the beginning of the second one, you can complete the poem
yourself. Well, even a computer can do that, and your task is to write a
program which completes them automatically. This will help Lara concentrate on
the “action” part of Tomb Raider and not on the “intellectual”
part.
Input
The input will begin with a line containing a single
number n. After this line follow n pairs of lines containing Schuttelreims. The
first line of each pair will be of the form
s1
<s2
>s3
<s4
>s5
where
the si
are
possibly empty, strings of lowercase characters or blanks. The second line will
be a string of lowercase characters or blanks ending with three dots
“...”. Lines will we
at most 100
characters long.
Output
For each pair of Schuttelreim lines l1
and l2
you are to output two lines c1
and c2
in the following way: c1
is the same as l1
only that the
bracket marks “<” and “>” are removed. Line c2
is the same as l2
,
except that instead of
the three dots the string s4
s3
s2
s5
should appear.
Sample Input
3
ein
kind haelt seinen
<schn>abel <n>
ur
wenn
es haengt an der ...
weil
wir zu spaet zur
<>oma <k>amen
verpassten
wir das ...
<d>u <b>ist
...
Sample Output
ein
kind haelt seinen schnabel nur
wenn
es haengt an der nabel schnur
weil
wir zu spaet zur oma kamen
verpassten
wir das koma amen
du
bist
bu
dist
/////////////////////////////////////////////////////////////////////////////////////////////////////////
分享到:
相关推荐
uva272
UVA109的题解,经测试完全正确,还附有题解。
有uva刘汝佳文件夹的50道题解,从数据结构开始,以后慢慢上传
包含UVA在线OJ系统的绝大部分的示例代码,并都已AC,可在刷题时参考
UVa在我看来是比较全的一个题解,希望能帮助大家。欢迎下载。
uva最全ac代码
uva531最长公共子序列问题水题,应用简单的dp即可ac有更快速的方法欢迎讨论
1.Uva_base的编译 在编译球队时,则需要在当前球队文件夹下打开终端输入执行以下命令(以下命令都是在root下执行的): ./configure make clean make 如果运行Uva_base后,出现球员越界或掉线的情况,就重新...
UVA 题目,不是很难,试试吧
uva357的栈实现版本
uva10755 ac 代码,可以随意更改下载
《算法竞赛入门经典》UVa配套题目pdf版完整
这是一支完整的uva球队,包含所有基本模块,初者可在上修改得到自己的球队
世界著名大学UVA OJ平台上的题目部分分类,分的不好请原谅。
uva_trilearn2002 源代码
开源项目-codingsince1985-UVa.zip,Been solving UVa Online Judge Problems in Golang for one year (and counting)
这里面全部为在Uva Online Judge上面的部分题目的解答,里面提供了解答使用的源代码。
主要是uvaoj习题相关题目 练习题目
UVA 499 Solution in C/ C++
PDF试题