数学建模社区-数学中国

标题: Contest - “顶嵌杯”全国嵌入式系统C语言编程大赛初赛 [打印本页]

作者: ultra1989    时间: 2010-1-6 15:27
标题: Contest - “顶嵌杯”全国嵌入式系统C语言编程大赛初赛
转载自:http://acm.pku.edu.cn/JudgeOnline/
; w% R! b9 M: }0 `) ~" Z; A) m/ r
Problem A: 位操作
) H0 \& L4 w; J1 ~6 v" L- ^
Time Limit: 1000MSMemory Limit: 65536K
Total Submissions: 1884Accepted: 580

5 R+ Q3 ~, b3 J# i

Description

假设你工作在一个32位的机器上,你需要将某一个外设寄存器的第X位设置成0(最低位为第0位,最高位为第31位),将第Y位开始的连续三位设置成110(从高位到低位的顺序),而其他位保持不变。对给定的寄存器值R,及X,Y,编程计算更改后的寄存器值R。
/ R7 P& ~& b6 B+ m- X7 d+ H1 V" h

Input

仅一行,包括R,X,Y,以逗号","分隔,R为16进制表示的32位整数,X,Y在0-31之间且Y>=3,(Y-X)的绝对值>=3,保证两次置位不会重合
3 j+ b" N  V; k  v+ C* n1 ?

Output

更改后的寄存器值R(16进制输出)
, D; ?0 [; V: ?& j& R. C

Sample Input

12345678,0,3

Sample Output

1234567c

作者: 山心豆    时间: 2010-1-6 21:14
沙发,可惜做不来,C语言没学好啊!
作者: ultra1989    时间: 2010-1-7 08:46
Problem B: 破译密码
5 Y0 O+ e' Q% s) }9 }: O! kTime Limit: 1000MS                Memory Limit: 65536K8 U' @% n/ U' k5 K
Total Submissions: 998                Accepted: 667$ I! m$ f  @, V; ?3 D; x
Description
$ W+ s4 d2 }5 p" r5 Z- Y& n9 k2 m" \1 y- i6 H' Z
据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F)。而你要获得消息原文,也就是要将这个过程反过来。 7 f* R9 v# L0 v3 L( \6 ]1 j2 ]3 D

4 _1 ]0 |2 L- ?2 r" O. _1 J密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z M , W) T  N1 r( j
原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
3 i1 Z, z2 R+ x/ K+ v3 D5 D% E5 y' j% R. a* [% ~  ?/ ?
注意:只有字母会发生替换,其他非字母的字符不变,并且消息原文的所有字母都是大写的。3 [+ p" c; t! b+ I) b
Input
7 r! F& j4 ^! T& d/ l( o1 f
2 A2 U% ?7 w. a3 p9 L最多不超过100个数据集组成,每个数据集之间不会有空行,每个数据集由3部分组成: ! V  W0 V, X$ K$ m6 z9 ?( b& D

) q' E# X* H% g  b. W5 _起始行:START
5 u4 j$ o# m  A密码消息:由1到200个字符组成一行,表示凯撒发出的一条消息.
6 j& k( h& C* ?3 R8 a4 ^结束行:END
# a& Y: Y, S& p5 Z' n* u0 q6 J7 Y* {. ]* p

( r4 l# Q. M% f在最后一个数据集之后,是另一行:ENDOFINPUT) x: {8 c* O4 \0 W4 o  A5 v; c" S
Output" s! z" n8 I5 H
( e5 v/ T& i8 ~) c! o, @: `0 |" V. v
每个数据集对应一行,是凯撒的原始消息。- @$ X, z9 D& t& C9 P" h+ U  G3 _7 }$ l
Sample Input
( L' A! h) C7 i8 _0 Z3 F" A
  P0 f% g& [& ^* ~9 dSTART1 X' k" Q& k& Z3 m1 m: U+ i- ?
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX; [; q- M6 ]6 L) v. u  P
END
) x) F# z& k$ w/ P- b, gSTART
. _& r# i3 A- uN BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ' O  q0 `% A; z6 K
END
) G+ Q: _+ z- d0 F: Y: @START
( I* c' d3 U) m4 `; v! e) eIFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
' ~$ w, V5 P8 O0 ]! PEND
3 B1 G5 V& Y. A& U' A+ W. g0 mENDOFINPUT9 Q7 N+ I) Q& k: ~
Sample Output# i; s5 f& i8 F

2 k' G- n! m" D- j+ MIN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES4 \+ ^; v4 Y* J0 Q6 [
I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME
- c0 ^* [' P3 N9 q" R( y& i' MDANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE
作者: ultra1989    时间: 2010-1-7 08:46
Problem C: 小孩报数问题
: V2 L" g5 N  K" X, BTime Limit: 1000MS                Memory Limit: 65536K* v$ G2 K2 M! V  f. y/ I. l
Total Submissions: 1284                Accepted: 5924 D: h3 i& v% ^3 |+ w7 r9 }
Description" u" N, J) u  Z& y0 F

" d+ w, ?1 d* _7 t有N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S个时将循环报数),求小孩出列的顺序。
" I) Q% b+ W& `3 o7 f4 y0 XInput
3 L4 h/ }. g6 ?7 O
  P+ G' @0 G$ d" D, H  r# Z* Q, H第一行输入小孩的人数N(N<=64) ( R+ o& y0 T* b- C0 O
接下来每行输入一个小孩的名字(人名不超过15个字符) ) `) I% l" ?) B1 r
最后一行输入W,S (W < N),用逗号","间隔6 A  o! x" ^1 L4 ~
Output
6 a/ D$ p% @0 U2 l* Q& n( p
; U: A, ~) y9 N5 I% p( D$ b2 _按人名输出小孩按顺序出列的顺序,每行输出一个人名/ _1 k' ^' ~; x. I
Sample Input
' K4 G( K# i' @% q( j/ v  o- ?0 V; ^; _
5
9 X8 Y* Z% X9 R3 J  v$ z" }% E6 N2 ~Xiaoming
; ], Y& ^4 f  K' F' {Xiaohua8 N9 I) c( [1 ]* a
Xiaowang
7 I4 I# u2 y0 IZhangsan
  G" t3 J. S: T1 K/ ^' tLisi
: F' a! w9 u! B0 R6 y% @" a2 M2,3
/ C8 r1 a6 W9 `  {. ^Sample Output
- ^) i/ _2 |+ S9 x: Q4 Q: @# _- G( A: I; n
Zhangsan) Z/ Q4 W7 j0 B' W: T8 q& P
Xiaohua
, }, L# }. \  [: k% YXiaoming
$ ?: M/ Y% z+ p5 J3 S( C0 wXiaowang
& ^. z/ V! i, c9 E0 t; SLisi
作者: ultra1989    时间: 2010-1-7 08:47
Problem D: 时间日期格式转换. Z( g! C/ X. [: m1 ~
Time Limit: 1000MS                Memory Limit: 65536K* |* {; B2 R7 @! y+ H" q, V& I, H
Total Submissions: 1088                Accepted: 570
3 v! z& Q! o/ w: D3 B8 @# {+ XDescription
( ~& k+ M8 z; _3 H5 x
8 z$ e& O! H4 Q. D+ }世界各地有多种格式来表示日期和时间。对于日期的常用格式,在中国常采用格式的是“年年年年/月月/日日”或写为英语缩略表示的”yyyy/mm/dd”,此次编程大赛的启动日期“2009/11/07”就是符合这种格式的一个日期,而北美所用的日期格式则为“月月/日日/年年年年”或”mm/dd/yyyy”,如将“2009/11/07”改成这种格式,对应的则是”11/07/2009”。对于时间的格式,则常有12小时制和24小时制的表示方法,24小时制用0-24来表示一天中的24小时,而12小时制只采用1-12表示小时,再加上am/pm来表示上午或下午,比如”17:30:00”是采用24小时制来表示时间,而对应的12小时制的表示方法是”05:30:00pm”。注意12:00:00pm表示中午12点,而12:00:00am表示凌晨12点。 " @1 w4 ]; z# p+ m
5 D9 H6 t" ]/ m, N
对于给定的采用”yyyy/mm/dd”加24小时制(用短横线”-”连接)来表示日期和时间的字符串,请编程实现将其转换成”mm/dd/yyyy”加12小时制格式的字符串。7 h0 O0 \. }' \
Input
2 c* I, m# K2 ^& d+ Z0 x6 u. ~7 p: b( r: A' P( [
第一行为一个整数T(T<=10),代表总共需要转换的时间日期字符串的数目。 ! y9 {! Q9 _/ [- n+ t
接下来的总共T行,每行都是一个需要转换的时间日期字符串。9 r, j) k' |% u1 b* q! }- I/ F4 d
Output0 E' S& W% U3 [

* Z( L# b! c- a/ ^$ ^分行输出转换之后的结果
; V8 S$ K% x/ N  xSample Input
! x$ x, U% F% f' f1 C/ i4 T9 k5 W! p! ^+ L$ f3 s
2
' K9 W/ g1 X4 ~5 X0 |0 A4 z2009/11/07-12:12:12
2 [  _& U+ [# W$ i) }1970/01/01-00:01:01
& p7 a* H4 o) @Sample Output
, f: w2 Q3 r, b. e% a& g
4 I) M# d7 n9 E7 t& H. Y11/07/2009-12:12:12pm
! a* V/ u$ V4 M1 K4 U01/01/1970-12:01:01am
3 O4 x$ a8 q& ]% A1 QHint) \3 K) R5 a( d3 z
6 J4 _) ^3 b0 W- [" v; V2 s" \! z
注意中午和凌晨时间的特殊表示
作者: ultra1989    时间: 2010-1-7 08:47
Problem E: 字母旋转游戏7 ?# p6 [! K& p, x! N
Time Limit: 1000MS                Memory Limit: 65536K+ t5 U: p' Y- t5 q- f) `
Total Submissions: 1477                Accepted: 542' B5 H# A2 h" `: ]
Description
/ b7 W8 c. E6 G9 _8 z
) K8 \2 p. [) Y' Y( l! L3 U给定两个整数M,N,生成一个M*N的矩阵,矩阵中元素取值为A至Z的26个字母中的一个,A在左上角,其余各数按顺时针方向旋转前进,依次递增放置,当超过26时又从A开始填充。例如,当M=5,N=8时,矩阵中的内容如下:
, d  i' Z5 {4 A5 J   A   B   C   D   E   F   G   H9 _  X$ ^3 _6 }. G: M
% O' e+ `4 G/ }2 g) ]; ^2 b
   V   W   X   Y   Z   A   B   I
! M* y  d; E9 F, v
1 ^( Y% ~( n0 `  O+ ]+ N  G   U   J   K   L   M   N   C   J
' _% V  S% f' N6 o  A# O8 P+ Y: }! C7 M. o: H4 P
   T   I   H   G   F   E   D   K4 v4 t* H9 S3 i, \" Z- ^
- o6 h$ K' C  y# V! E) e
   S   R   Q   P   O   N   M   L3 S$ b* U# o- p7 M! U1 r
Input
! K  N* r* I! R; b0 }( S% z& w& o/ g( X3 X/ s+ \0 I* f
M为行数,N为列数,其中M,N都为大于0的整数。8 I: O; i/ `8 G: b8 Q' i
Output
4 @! z# ]; J) g7 W6 {  L; ^9 f' F9 _5 \, @- o! v3 U# [/ j, }% _! \
分行输出相应的结果
3 m- _: o! A. l: G0 X+ d7 U5 @Sample Input( t! {, P$ C9 \+ B3 T% J
- @: q9 G: @. ~5 G. L
4 95 W  W! p9 r+ n4 q9 I) n
Sample Output
) D' R6 j  Y0 S9 R' W5 o5 y9 |
0 i6 S% K! _* J- g. J, }   A   B   C   D   E   F   G   H   I
9 }* N0 m9 J/ v, \/ J4 L/ w5 q- I   V   W   X   Y   Z   A   B   C   J
9 t2 V- S9 U. `. V1 N   U   J   I   H   G   F   E   D   K
, ]5 v* t2 g% v* j3 o$ @- l& b   T   S   R   Q   P   O   N   M   L
作者: 徐小培    时间: 2010-8-8 11:00





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5