- 在线时间
- 0 小时
- 最后登录
- 2010-11-12
- 注册时间
- 2010-8-27
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 46 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 16
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 5
- 主题
- 2
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   11.58% 该用户从未签到
 |
POJ-1006
" n, w8 H# e0 M: a
2 u9 C0 h4 f! |' v" N/ w在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer$ p/ s3 Y8 `# r! E- e3 {
* A% f9 ?- m$ e
现将代码贴出,请帮忙看看:
9 N4 K4 ~+ d$ ^. _- H l - #include <iostream>
- ' ^% V+ c; S+ h9 B0 ]' G
- using namespace std;
- 1 I3 m1 U7 w& s% }. T5 L) B5 C9 S
- #define PH 0! [: s2 J. P5 f% V& [; p- {5 Q
- #define EM 1; y0 D! L\\" j) z1 N' T
- #define IN 2
- 5 ]4 R) z& u\\" |) y+ X) |% ^
- int get_Top(int days, int kind);
- : F+ ^3 P6 o* q' l: L( M
- int triple(int ptop, int etop, int itop, int cur);
- % i2 s; q8 O1 z3 i
- bool is_Integer(float n);/ j) A; Y* W5 i% A6 p
- int main()8 X1 h- j% y N/ @! d+ s! _+ d\\" p
- {
- a$ O$ Q7 b& p( f\\" e
- int ptop, etop, itop;* N# r. U4 r4 f1 Y. R( e. f) R
- int pdays, edays, idays, curdays;
- 9 X( b3 G& ~. _: C1 p8 }
- int count =0;$ D- I& W( ] q; c: W* b& C! b
- 0 x7 F5 T, }* J+ O; s+ o) ?/ M8 l
- while(cin >> pdays >> edays >> idays >> curdays)2 o& B% a$ A2 I
- {$ F# A W& T. m9 s* M* V6 {4 C
- if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)* B1 _) K' z/ V: O: w w6 m
- break;
- 7 p I7 p- O. E9 Z Q7 j1 [) J1 V
- count++;5 @# [4 A3 \5 P E% |, R
- ptop = get_Top(pdays,PH);
- - U' m. Y! Z# g8 m% Z
- etop = get_Top(edays,EM);( Q, }% g+ h4 t0 ^
- itop = get_Top(idays,IN);
- * I4 g, p& W' s+ ?, m
- cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";% C* V7 }: J$ k- {
- }9 ~2 k# [, A' q
- + Z- r F# q; n, u8 P0 P. w
- return 0;8 a' O$ D g+ ~5 x1 D
- }# R( W0 J\\" c- v0 `7 b* A
- int get_Top(int days, int kind)
- , z# m3 H( w, B# Y+ t4 B
- {
- 9 u( Q# u' S6 ]! Y
- switch(kind)
- + |1 W {! j+ J' u+ \* K5 w7 C
- {! ^8 n& B\\" j2 W5 N3 P$ _
- case 0:
- 5 F4 [1 C. e( i+ n: A, o3 z1 S4 K6 O
- return days%23;$ a% D' X5 ]& K* E1 [$ m
- case 1:+ t9 g. L7 k4 a# ^& @- h% G$ d. Z! A
- return days%28; s% j/ B+ d$ ]: `. q! |
- case 2:
- ' l: D5 p) D' \7 z: d
- return days%33;7 p ?7 l( ]' i0 i U/ @\\" l
- }; @. w# w3 J6 M/ R! ]4 h
- return 0;
- ( Z Q: h) o# v7 ]
- }+ K7 ~\\" W& P4 z( Q
- 4 L) `& w1 K9 {
- int triple(int ptop, int etop, int itop, int cur)
- : _$ M- y+ |; ~\\" ?) b
- {: i\\" A& M- {4 j$ G6 q* |9 B( n1 p
- float x, y, z;- a3 Q7 x6 K% p# b6 n/ I
- int m1 = etop-ptop-5,
- 8 c\\" [+ W8 j\\" z' ^! O/ _8 Q# V2 @
- m2 = itop-etop-5;
- / K2 o. g3 m% w g\\" U8 v
- int temp = 0;
- . T+ A- X; h! L
- for(z=2; (itop+(z-1)*33) <= 21252; z++)
- + a\\" L; S E# ]* q
- {$ x/ S9 c' m/ W+ b\\" c. e
- temp = m2 + 33*z;
- \\" |- K# i, u3 d8 l/ S' S
- y = (float)temp/28;9 o4 M) o, {/ c2 u2 Y5 m$ h2 _, J
- x = (float)(m1+temp)/23;
- % q- p. ^$ Q9 [\\" {
- if(x>0 && y>0 && is_Integer(x) && is_Integer(y))- F S* E8 ^; N$ e2 V
- return itop + (z-1)*33 -cur;
- & U- K7 @5 T& M; |% {' z
- }
- 8 o& u5 _( f3 Z. W+ ]\\" ?9 g2 V
- return 0;5 D! n- r& R: z* D- p) S
- }# u3 r* D* T' I
- \\" O# b6 F4 o& O v
- bool is_Integer(float n)
- . z8 V4 \0 ] Z7 C: l& U
- {3 Y2 E Z3 j+ f% W2 C; |
- if( (int)n - n ==0)1 \# {, n4 ]$ Y: R7 o0 T
- return true;
- % ?, H1 l8 y0 P/ v' m8 ?/ z
- else7 Q, G\\" o6 T# J
- return false;
- , \ x* D2 J- a2 h8 J) E- U8 h
- }
- & f% v7 w4 h- ^. Y' ?
- ) ?* t. A% o/ E T- R4 Z
4 b) V0 r9 L" [8 z+ K8 c
|
zan
|