- 在线时间
- 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
+ I, K3 J: Y: d, |% o) K4 ^" P+ _+ r+ o4 m$ ~# z
在本地VC6.0下测试,得出正确结果, 为什么提交后总是Wrong Answer* r& b% P$ l, k- z! h2 Q
. B' @' v Y, X
现将代码贴出,请帮忙看看:
& W+ u, p/ h' o- W2 v$ | v* R* B' s - #include <iostream>/ A0 A- F3 Y% W, [5 H
- using namespace std;
- % b\\" ^0 y6 ^- Z$ Y; L
- #define PH 0
- ; G% O. @$ O( V/ y' e
- #define EM 1
- & X! [# L% K, {' k
- #define IN 2- c# A1 K* f Q, H0 \+ {* q. i
- int get_Top(int days, int kind);
- ' h) J8 t! Z8 F6 f% J- ?, g
- int triple(int ptop, int etop, int itop, int cur);, T5 N5 B' p: t+ ^6 a- l$ O. p\\" L8 o
- bool is_Integer(float n);
- 5 A8 Y5 f o. [7 n0 `* q* Z3 E1 N
- int main()
- 9 {' ?* n; o5 f\\" z0 s7 l
- {
- 4 a& {: ^& }* N: e! k! p$ A: o
- int ptop, etop, itop;5 B7 a4 {\\" M* C$ n
- int pdays, edays, idays, curdays;& ^+ w\\" n; j5 S/ c6 d
- int count =0;
- / @: r2 U2 P' O1 R! z+ s7 w
- + y. f! S0 M7 t4 W
- while(cin >> pdays >> edays >> idays >> curdays)
- : S4 I* H# k6 ~1 g1 n
- {# q* l, k! M* U
- if(pdays==edays&&pdays==idays&&pdays==curdays&&pdays==-1)
- 6 W) j1 ]8 r) _+ ?$ ~
- break;. t5 ^. n( t I: D; D( x# N( N0 Q
- count++;
- 4 A( p8 X5 c. n5 |5 ~+ O' Z1 e
- ptop = get_Top(pdays,PH);
- 4 @6 a! G+ K: q7 T' @4 Z
- etop = get_Top(edays,EM);
- : R, f; r2 j% g
- itop = get_Top(idays,IN);
- ! n* m, R5 J3 g
- cout<<"Case "<<count<<": "<<"the next triple peak occurs in "<<triple(ptop, etop, itop, curdays)<<" days.";+ M2 j5 B4 \$ g6 v9 T) m# C
- }
- ! y! v: L- a# k
-
- 4 W6 h/ }! }2 c1 @
- return 0;+ k, ?( T2 G; V, U4 s! U ~
- }/ j/ l4 J3 \& v
- int get_Top(int days, int kind)
- 1 \! i9 p) T0 d8 Y
- {
- \\" a# X- } M0 Q0 ?. P; A
- switch(kind)
- * \: A9 O7 t3 y3 ^, }
- {
- # F4 `. W: r K1 x8 X7 {; D& l
- case 0:
- ) ^$ R+ }( j: ]5 m* S4 P; h
- return days%23;+ x9 t2 C5 P1 `, P1 Y
- case 1:, o9 G/ ^8 D% i\\" v/ g. [0 E9 A
- return days%28;
- ) s& l# h) }% J. J% g. z\\" c
- case 2:; u8 ~$ ^# L* [2 L* T. l, o- u
- return days%33;4 A7 ~: F# i, |# E9 |5 E% Z0 O# F3 _; u
- }\\" K0 Q0 W$ w! ] ?
- return 0;
- % u) S& J9 y3 h4 Z: e- _: o7 c
- }
- + L3 K1 B1 w2 \* |6 [' _
- ; A; |/ Q* Q- Q% o- d; c% H
- int triple(int ptop, int etop, int itop, int cur)
- 0 ]; F# d4 y( F$ V
- {; C- }9 d* y% E/ K) T8 l+ V5 o
- float x, y, z;
- - U$ n) y1 K! i! V2 @
- int m1 = etop-ptop-5,% D9 B/ w& \0 _! y7 v
- m2 = itop-etop-5;
- M( ^( z+ t8 q/ I) G% e4 x\\" k9 K
- int temp = 0;
- ' `2 r: B1 o8 g! C' \3 m1 @
- for(z=2; (itop+(z-1)*33) <= 21252; z++)
- ; D2 s* h' t' M5 p( O
- {, b+ [* z) x2 a5 L7 Z
- temp = m2 + 33*z;, |; T0 O. d6 J, y8 Z
- y = (float)temp/28;* z, ?! x+ E\\" G9 z! l# R
- x = (float)(m1+temp)/23;. U5 C: R# `' d! r
- if(x>0 && y>0 && is_Integer(x) && is_Integer(y))
- # D% f2 T- \+ `6 g1 J
- return itop + (z-1)*33 -cur;
- 3 w: `& j9 q& S3 y# t' h& a
- }5 r% i$ _6 K; k
- return 0;
- 2 y T! O; Z. p; @0 Q
- }
- ' A4 v4 c j: P
- + X9 \* J( o/ ^ b; t4 O7 P' f
- bool is_Integer(float n) m+ Q# @4 W% c1 |1 C. L. l\\" B
- {\\" P0 p1 M' g# D6 r w- g
- if( (int)n - n ==0)- G$ X) j- B\\" H+ v0 j
- return true;8 U( Q V7 N% p* ?6 z+ n( e
- else2 t w3 h) `+ a* S( ?: v
- return false;* j* N' {$ D\\" w\\" X8 U( I& R
- }
- 0 B/ E5 M7 k- a
- 0 \, M4 b& S% v8 c; j# Q: R
; r n J) i( O* N9 K6 L |
zan
|